美文网首页
测试HashMap的hash冲突的数据和例子

测试HashMap的hash冲突的数据和例子

作者: Ruining101 | 来源:发表于2019-08-08 17:25 被阅读0次

在测试HashMap的hash冲突、扩容、红黑树转换的时候,需要一些特殊的测试数据,所以就找了一些测试数据。
测试数据的生成方法见 传送门

    public static void main(String[] args) {
        for (int i = 1179395; i <= 1179395; i++) {
            for (int j = 19968; j <= 40869; j++) {
                for (int m = 19968; m <= 40869; m++) {
                    if (i == 31 * j + m) {
                        System.out.println((char) j + "" + (char) m);
                    }
                }
            }
        }
    }

上面就是生成hash值相同的两位字符串的例子。
下面就是生成的数据,为了方便使用,我手动弄成了json串(这么多数据都是hash值为1179395)

{
  "sss": [
    "轷龚","轸齻","轹齜","轺鼽","轻鼞","轼黿","载黠","轾黁","轿麢","辀麃","辁鹤","辂鹅","较鸦","辄鸇","辅鷨","辆鷉","辇鶪","辈鶋","辉鵬","辊鵍","辋鴮","辌鴏","辍鳰","辎鳑","辏鲲",
    "辐鲓","辑鱴","辒鱕","输鰶","辔鰗","辕鯸","辖鯙","辗鮺","辘鮛","辙魼","辚魝","辛鬾","辜鬟","辝鬀","辞髡","辟髂","辠骣","辡骄","辢驥","辣驆","辤騧","辥騈","辦駩","辧駊","辨馫",
    "辩馌","辪饭","辫饎","辬餯","辭餐","辮飱","辯飒","辰颳","辱颔","農页","辳顖","辴頷","辵領","辶韹","辷韚","辸鞻","边鞜","辺靽","辻非","込霿","辽霠","达霁","辿離","迀雃","迁隤",
    "迂隅","迃陦","迄陇","迅阨","迆阉","过闪","迈闋","迉閬","迊閍","迋镮","迌镏","迍锰","迎锑","迏铲","运铓","近钴","迒钕","迓鑶","返鑗","迕鐸","迖鐙","迗鏺","还鏛","这鎼","迚鎝",
    "进鍾","远鍟","违鍀","连錡","迟錂","迠鋣","迡鋄","迢銥","迣銆","迤鉧","迥鉈","迦鈩","迧鈊","迨釫","迩里","迪醭","迫醎","迬酯","迭酐","迮鄱","迯鄒","述郳","迱郔","迲邵","迳邖",
    "迴遷","迵遘","迶逹","迷通","迸迻","迹远","迺辽","迻辞","迼轿","追轠","迾轁","迿輢","退較","送軤","适軅","逃躦","逄躇","逅蹨","逆蹉","逇踪","逈踋","选跬","逊跍","逋趮","逌趏",
    "逍走","逎赑","透贲","逐贓","逑賴","递賕","逓貶","途貗","逕豸","逖豙","逗谺","逘谛","這诼","通话","逛设","逜讟","逝讀","逞譡","速譂","造謣","逡謄","逢諥","連諆","逤誧","逥誈",
    "逦詩","逧詊","逨訫","逩訌","逪觭","逫觎","逬覯","逭覐","逮襱","逯襒","逰褳","週褔","進裵","逳裖","逴袷","逵袘","逶衹","逷衚","逸蠻","逹蠜","逺蟽","逻蟞","逼螿","逽螠","逾螁",
    "逿蝢","遀蝃","遁蜤","遂蜅","遃蛦","遄蛇","遅蚨","遆蚉","遇虪","遈虋","遉蘬","遊蘍","運藮","遌藏","遍薰","過薑","遏蕲","遐蕓","遑蔴","遒蔕","道蓶","達蓗","違蒸","遖蒙","遗葺",
    "遘葛","遙萼","遚萝","遛菾","遜菟","遝菀","遞莡","遟莂","遠荣","遡荄","遢茥","遣茆","遤苧","遥苈","遦芩","遧芊","遨艫","適艌","遪舭","遫舎","遬臯","遭臐","遮膱","遯膒","遰腳",
    "遱腔","遲脵","遳脖","遴胷","遵胘","遶肹","遷肚","選聻","遹聜","遺耽","遻耞","遼翿","遽翠","遾翁","避羢","邀羃","邁罤","邂罅","邃缦","還缇","邅绨","邆绉","邇纪","邈纋","邉繬",
    "邊繍","邋縮","邌縏","邍緰","邎緑","邏網","邐經","邑絴","邒絕","邓紶","邔紗","邕糸","邖糙","邗粺","邘粛","邙籼","邚籝","邛簾","邜簟","邝簀","邞篡","邟篂","邠箣","邡箄","邢筥",
    "那筆","邤笧","邥笈","邦竩","邧竊","邨窫","邩窌","邪穭","邫穎","邬稯","邭稐","邮秱","邯秒","邰禳","邱禔","邲祵","邳祖","邴礷","邵礘","邶磹","邷磚","邸碻","邹碜","邺硽","邻硞",
    "邼砿","邽砠","邾码","邿矢","郀矃","郁瞤","郂瞅","郃睦","郄睇","郅眨","郆眉","郇盪","郈盋","郉皬","郊皍","郋癮","郌癏","郍瘰","郎瘑","郏痲","郐痓","郑疴","郒疕","郓當","郔畗",
    "郕甸","郖甙","郗瓺","郘瓛","郙璼","郚璝","郛瑾","郜瑟","郝瑀","郞琡","郟琂","郠珣","郡珄","郢玥","郣玆","郤獧","郥獈","郦猩","郧猊","部狫","郩狌","郪犭","郫犎","郬牯","郭牐",
    "郮爱","郯爒","郰燳","郱燔","郲熵","郳熖","郴煷","郵煘","郶焹","郷焚","郸烻","郹烜","郺炽","郻炞","郼灿","都灠","郾灁","郿瀢","鄀瀃","鄁濤","鄂濅","鄃澦","鄄澇","鄅潨","鄆潉",
    "鄇漪","鄈漋","鄉滬","鄊滍","鄋溮","鄌溏","鄍湰","鄎湑","鄏渲","鄐渓","鄑淴","鄒淕","鄓涶","鄔涗","鄕浸","鄖浙","鄗洺","鄘洛","鄙泼","鄚泝","鄛沾","鄜沟","鄝沀","鄞污","鄟求",
    "鄠氣","鄡氄","鄢毥","鄣毆","鄤殧","鄥殈","鄦歩","鄧歊","鄨欫","鄩欌","鄪櫭","鄫櫎","鄬檯","鄭檐","鄮橱","鄯橒","鄰樳","鄱樔","鄲槵","鄳槖","鄴榷","鄵榘","鄶楹","鄷楚","鄸椻",
    "鄹検","鄺棽","鄻棞","鄼梿","鄽梠","鄾梁","鄿桢","酀桃","酁栤","酂栅","酃柦","酄柇","酅枨","酆枉","酇杪","酈杋","酉本","酊服","酋曮","酌曏","配暰","酎暑","酏晲","酐晓","酑昴",
    "酒昕","酓时","酔旗","酕斸","酖料","酗敺","酘敛","酙攼","酚攝","酛擾","酜擟","酝擀","酞撡","酟撂","酠摣","酡摄","酢搥","酣搆","酤揧","酥揈","酦掩","酧掊","酨捫","酩捌","酪挭",
    "酫挎","酬拯","酭拐","酮抱","酯抒","酰扳","酱扔","酲戵","酳或","酴懷","酵懘","酶憹","酷憚","酸慻","酹慜","酺愽","酻愞","酼惿","酽惠","酾惁","酿悢","醀悃","醁恤","醂恅","醃怦",
    "醄怇","醅忨","醆忉","醇循","醈律","醉彬","醊彍","醋弮","醌式","醍廰","醎廑","醏庲","醐库","醑年","醒幕","醓帶","醔帗","醕巸","醖巙","醗嶺","醘嶛","醙嵼","醚嵝","醛崾","醜崟",
    "醝崀","醞峡","醟峂","醠岣","醡岄","醢履","醣屆","醤尧","醥專","醦審","醧寊","醨宫","醩完","醪孭","醫孎","醬嬯","醭嬐","醮嫱","醯嫒","醰媳","醱媔","醲婵","醳婖","醴娷","醵娘",
    "醶姹","醷姚","醸妻","醹妜","醺好","醻奞","醼夿","醽夠","醾夁","醿壢","釀壃","釁墤","釂墅","釃塦","釄塇","釅堨","釆堉","采埪","釈埋","釉垬","释垍","釋坮","里坏","重地","野圑",
    "量囲","釐囓","金嚴","釒嚕","釓噶","釔噗","釕嘸","釖嘙","釗嗺","釘嗛","釙喼","釚喝","釛啾","釜啟","針啀","釞唡","釟唂","釠哣","釡哄","釢咥","釣咆","釤呧","釥呈","釦吩","釧吊",
    "釨叫","釩双","釪厭","釫厎","釬卯","釭卐","釮匱","釯匒","釰勳","釱勔","釲劵","釳劖","釴剷","釵剘","釶刹","釷刚","釸击","釹凜","釺冽","釻冞","釼兿","釽兠","釾允","釿儢","鈀儃",
    "鈁僤","鈂僅","鈃傦","鈄傇","鈅偨","鈆偉","鈇倪","鈈個","鈉俬","鈊俍","鈋侮","鈌侏","鈍佰","鈎佑","鈏伲","鈐伓","鈑仴","鈒仕","鈓亶","鈔亗","鈕乸","鈖乙","鈗为","鈘丛"
  ]
}

然后测试代码如下:

import cn.hutool.core.io.IoUtil;
import org.springframework.boot.configurationprocessor.json.JSONArray;
import org.springframework.boot.configurationprocessor.json.JSONException;
import org.springframework.boot.configurationprocessor.json.JSONObject;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
    public static void main(String[] args) throws JSONException, IOException {
        Map<String, String> map = new HashMap<>();
        InputStream in = Test11.class.getClassLoader().getResourceAsStream("text.json");
        assert in != null;
        String str = IoUtil.read(in, StandardCharsets.UTF_8);
        in.close();
        JSONObject json = new JSONObject(str);
        JSONArray array = json.getJSONArray("sss");
        int length = array.length();
        for (int i = 0; i < length; i++) {
            String ss = array.getString(i);
            map.put(ss, ss);
        }
        System.out.println(map.toString());
    }

相关文章

  • 测试HashMap的hash冲突的数据和例子

    在测试HashMap的hash冲突、扩容、红黑树转换的时候,需要一些特殊的测试数据,所以就找了一些测试数据。测试数...

  • HashMap

    HashMap 解决Hash冲突 java 中的HashMap 通过链表法解决Hash冲突 链表法 链表法就是将相...

  • mysql面试

    Hashmap如果避免hash冲突?

  • 模拟HashMap冲突

    最近看HashMap的源码,其中相同下标容易产生hash冲突,但是调试需要发生hash冲突,本文模拟hash冲突。...

  • 模拟HashMap冲突

    最近看HashMap的源码,其中相同下标容易产生hash冲突,但是调试需要发生hash冲突,本文模拟hash冲突。...

  • 从hashmap说起

    说到hashmap我们能想到什么呢 hash hashmap的hash方法极大的避免了hash冲突。他通过高16位...

  • java底层map源码分析

    ConcurrentHashMap 首先我们先明确hashMap的基本数据结构为数组+链表但hash冲突较严重时,...

  • HashMap详解

    问题导入: HashMap底层数据结构,如何处理hash冲突,为何HashMap的大小要设置为2的n次幂,为什么I...

  • 03_HashMap源码剖析

    一、 基本原理 HashMap底层基于数组+链表的数据结构,当出现hash冲突的时候,就将冲突的节点挂在链表尾部J...

  • Hashmap线程安全和hash冲突

    HashMap线程安全的吗? Java中平时用的最多的Map集合就是HashMap了,它是线程不安全的。 看下面两...

网友评论

      本文标题:测试HashMap的hash冲突的数据和例子

      本文链接:https://www.haomeiwen.com/subject/pyxfjctx.html