亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ArrayList的自動(dòng)擴(kuò)充機(jī)制實(shí)例解析

 更新時(shí)間:2017年10月24日 10:07:52   作者:ysk_xh_521  
本文主要介紹了ArrayList的自動(dòng)擴(kuò)充機(jī)制,由一個(gè)題目切入主題,逐步向大家展示了ArrayList的相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。

用一道選擇題作為本文的開始吧!

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

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

答案:A

1、ArrayList的默認(rèn)初始容量為10,當(dāng)然也可以自定義指定初始容量,隨著動(dòng)態(tài)的向其中添加元素,其容量可能會(huì)動(dòng)態(tài)的增加,那么擴(kuò)容的公式為:

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

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

即每次擴(kuò)充至原有基礎(chǔ)的1.5倍

ArrayList的構(gòu)造函數(shù)總共有三個(gè):

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

調(diào)用的是第三個(gè)構(gòu)造函數(shù),直接初始化為大小為20的list,沒有擴(kuò)容,所以選擇A

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

另外與之類似的還有,

2、HashMap的初始大小為16,增長(zhǎng)時(shí),直接容量翻番,如源代碼。

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,如果沒有指定每次增長(zhǎng)的大小,則默認(rèn)是翻倍增長(zhǎng)。

總結(jié)

以上就是本文關(guān)于ArrayList的自動(dòng)擴(kuò)充機(jī)制實(shí)例解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Spring Java-based容器配置詳解、ArrayList在for循環(huán)中使用remove方法移除元素方法介紹等,有什么問題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的,感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • Eclipse+Java+Swing+Mysql實(shí)現(xiàn)工資管理系統(tǒng)

    Eclipse+Java+Swing+Mysql實(shí)現(xiàn)工資管理系統(tǒng)

    這篇文章主要介紹了Eclipse+Java+Swing+Mysql實(shí)現(xiàn)工資管理系統(tǒng),對(duì)正在工作或者學(xué)習(xí)的你有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-01-01
  • Java中包裝類介紹與其注意事項(xiàng)

    Java中包裝類介紹與其注意事項(xiàng)

    Java語(yǔ)言是一個(gè)面向?qū)ο蟮恼Z(yǔ)言,但是Java中的基本數(shù)據(jù)類型卻是不面向?qū)ο蟮?,這在實(shí)際使用時(shí)存在很多的不便,所以在設(shè)計(jì)類時(shí)為每個(gè)基本數(shù)據(jù)類型設(shè)計(jì)了一個(gè)對(duì)應(yīng)的類進(jìn)行代表,這樣八個(gè)和基本數(shù)據(jù)類型對(duì)應(yīng)的類統(tǒng)稱為包裝類,有些地方也翻譯為外覆類或數(shù)據(jù)類型類。
    2017-02-02
  • 基于Java實(shí)現(xiàn)簡(jiǎn)單的身材計(jì)算程序

    基于Java實(shí)現(xiàn)簡(jiǎn)單的身材計(jì)算程序

    這篇文章主要為大家詳細(xì)介紹了如何利用Java實(shí)現(xiàn)簡(jiǎn)單的身材計(jì)算程序,可以計(jì)算身體的體脂率以及BMI數(shù)值等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • 詳解Spring中實(shí)現(xiàn)接口動(dòng)態(tài)的解決方法

    詳解Spring中實(shí)現(xiàn)接口動(dòng)態(tài)的解決方法

    最近在工作遇到的一個(gè),發(fā)現(xiàn)網(wǎng)上的資料較少,所以想著總結(jié)分享下,下面這篇文章主要給大家介紹了關(guān)于Spring中實(shí)現(xiàn)接口動(dòng)態(tài)的解決方法,文中通過完整的示例代碼給大家介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • Java實(shí)現(xiàn)快速生成詞云圖的示例代碼

    Java實(shí)現(xiàn)快速生成詞云圖的示例代碼

    詞云(Word?Cloud),又稱文字云、標(biāo)簽云(Tag?Cloud)、關(guān)鍵詞云(Keyword?Cloud),是對(duì)文本信息中一定數(shù)量的關(guān)鍵詞出現(xiàn)的頻率高低情況的一種可視化展現(xiàn)方式。本文將用Java代碼實(shí)現(xiàn)快速生成詞云圖,需要的可以參考一下
    2023-02-02
  • Java  隊(duì)列 Queue 用法實(shí)例詳解

    Java 隊(duì)列 Queue 用法實(shí)例詳解

    本文實(shí)例講述了Java內(nèi)置隊(duì)列類Queue用法,分享給大家供大家參考
    2017-04-04
  • J2EE Servlet基礎(chǔ)在瀏覽器上運(yùn)行HelloServlet的方法

    J2EE Servlet基礎(chǔ)在瀏覽器上運(yùn)行HelloServlet的方法

    這篇文章主要介紹了J2EE Servlet基礎(chǔ)在瀏覽器上運(yùn)行HelloServlet的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java結(jié)合redis實(shí)現(xiàn)接口防重復(fù)提交

    Java結(jié)合redis實(shí)現(xiàn)接口防重復(fù)提交

    本文主要介紹了Java結(jié)合redis實(shí)現(xiàn)接口防重復(fù)提交,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • JAVA基本概念詳解

    JAVA基本概念詳解

    本文主要介紹了Java的基本概念。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧,希望能夠給你帶來(lái)幫助
    2021-11-11
  • SpringBoot之@Aspect注解解讀

    SpringBoot之@Aspect注解解讀

    這篇文章主要介紹了SpringBoot之@Aspect注解解讀,AOP是面向切面編程,通過預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù),而@Aspect 就是把一個(gè)類定義為切面供容器讀取,需要的朋友可以參考下
    2024-01-01

最新評(píng)論