91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ArrayList中自動擴充機制的示例分析

發布時間:2021-08-05 14:37:29 來源:億速云 閱讀:122 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“ArrayList中自動擴充機制的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“ArrayList中自動擴充機制的示例分析”這篇文章吧。

ArrayList list = new ArrayList(20);中的list擴充幾次

A.0
B.1
C.2
D.3

答案:A

1、ArrayList的默認初始容量為10,當然也可以自定義指定初始容量,隨著動態的向其中添加元素,其容量可能會動態的增加,那么擴容的公式為:

新容量 = 舊容量/2 + 舊容量

比如:初始容量為4,其容量的每次擴充后的新容量為:4->6->9->13->19->…

即每次擴充至原有基礎的1.5倍

ArrayList的構造函數總共有三個:

(1)ArrayList()構造一個初始容量為 10 的空列表。
(2)ArrayList(Collection<? extends E> c)構造一個包含指定 collection 的元素的列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。
(3)ArrayList(int initialCapacity)構造一個具有指定初始容量的空列表。

調用的是第三個構造函數,直接初始化為大小為20的list,沒有擴容,所以選擇A

如果初始化為ArrayList(0),則會在新容量計算完畢后,增加至1;

另外與之類似的還有,

2、HashMap的初始大小為16,增長時,直接容量翻番,如源代碼。

void addEntry(int hash, K key, V value, int bucketIndex) { 
    if ((size >= threshold) && (null != table[bucketIndex])) { 
      resize(2 * table.length);//原容量2倍 
      hash = (null != key) ? hash(key) : 0; 
      bucketIndex = indexFor(hash, table.length); 
    } 
    createEntry(hash, key, value, bucketIndex); 
}

3、Vector的初始大小為10,如果沒有指定每次增長的大小,則默認是翻倍增長。

以上是“ArrayList中自動擴充機制的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

运城市| 长治市| 康马县| 正定县| 蓝田县| 乐业县| 三河市| 突泉县| 翁源县| 佳木斯市| 林芝县| 灌南县| 绥宁县| 沾益县| 桃园县| 奉贤区| 樟树市| 上饶市| 东阿县| 沂南县| 凤凰县| 常德市| 蕲春县| 沧州市| 通海县| 二手房| 阿克苏市| 美姑县| 修水县| 虎林市| 静宁县| 邵阳县| 新晃| 安达市| 赤壁市| 紫云| 抚远县| 陕西省| 木里| 新巴尔虎左旗| 安溪县|