第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

ArrayList問題

https://img1.sycdn.imooc.com//5d4a38ac000106e005850079.jpg請問這個是什么意思? ? 為什么要New一個ArrayList

正在回答

3 回答

初始化,你可以理解成創(chuàng)建一個火車頭,不然沒有火車頭的話后面的車廂都接不上去

0 回復 有任何疑惑可以回復我~

ArrayList源碼中最重要的就是數(shù)組的擴容,你知道數(shù)組一旦創(chuàng)建就不能改變?nèi)萘苛?,但是List集合可以隨便添加多少元素,那么用數(shù)組怎么實現(xiàn)list的呢,就是system.copy方法,復制!創(chuàng)建一個新的數(shù)組,默認長度是原數(shù)組的1.5倍,不夠再擴1.5倍,直到達到Integer.MAX_VALUE為止,然后把原數(shù)組復制到新數(shù)組,這個復制可以指定索引,就是你可以指定從哪兒開始復制,復制在什么位置。搞懂這個基本上arraylist的方法就全搞懂了,比如刪除Arr=[1,2,3,4,5]中的3就是把4后面的長度-3個元素復制到3的位置就完事了,如下。

System.arraycopy(Arr,?3,?Arr,?4,?size-3)


0 回復 有任何疑惑可以回復我~

對不起,我解釋錯了,LinkList才是火車頭,new ArrayList()是創(chuàng)建一個地址,此時只是一個空指針,當調用add()方法的時候才會在堆內(nèi)存創(chuàng)建一個長度為10的數(shù)組,add達到數(shù)組容量上限就自動增長1.5倍,new ArrayList(5)帶了參數(shù)5,會初始化的時候就創(chuàng)建一個長度為5的數(shù)組。總之ArrayList實際上就是一個數(shù)組。為了這個問題我看了三天源碼!

0 回復 有任何疑惑可以回復我~
#1

qq_慕沐4213791 提問者

謝謝解答
2019-08-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409765    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

ArrayList問題

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號