Rising Sun

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            148 隨筆 :: 0 文章 :: 22 評論 :: 0 Trackbacks
          Hashmap loadFactor設(shè)置初使化值的時候必須設(shè)置 loadFactor

          1、請查看 hashmap 如何初使化

           

          代碼:

           public HashMap(int initialCapacity, float loadFactor) {

                  if (initialCapacity < 0)

                      throw new IllegalArgumentException("Illegal initial capacity: " +

                                                         initialCapacity);

                  if (initialCapacity > MAXIMUM_CAPACITY)

                      initialCapacity = MAXIMUM_CAPACITY;

                  if (loadFactor <= 0 || Float.isNaN(loadFactor))

                      throw new IllegalArgumentException("Illegal load factor: " +

                                                         loadFactor);

           

                  // Find a power of 2 >= initialCapacity

                  int capacity = 1;

                  while (capacity < initialCapacity)

                      capacity <<= 1;

           

                  this.loadFactor = loadFactor;

                  threshold = (int)(capacity * loadFactor);

                  table = new Entry[capacity];

                  init();

          }

           

          Map map = new HashMap(9);

           

          while (capacity < initialCapacity)

                      capacity <<= 1;

           

          capacity的容量為 16

          threshold擴容閥值 16*0.75 =12

           

          和9沒什么關(guān)系 哈

           

          Map map = new HashMap(91);

           

          capacity的容量為 16

          threshold擴容閥值 16*1 =16
          不過這個 9 變小一點 就不一樣了 如3時
          capacity 是4



           

          posted on 2013-02-01 16:37 brock 閱讀(2925) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 鲁山县| 九龙县| 安平县| 蕉岭县| 芦溪县| 澳门| 绿春县| 汉川市| 玉龙| 北票市| 江北区| 余庆县| 奈曼旗| 五河县| 通许县| 永吉县| 鹿泉市| 卢龙县| 大埔区| 威远县| 陆河县| 盐山县| 长武县| 海林市| 策勒县| 芦溪县| 金塔县| 东平县| 太白县| 霍山县| 织金县| 敦化市| 页游| 常熟市| 永修县| 巴东县| 长寿区| 绵竹市| 毕节市| 西昌市| 会东县|