最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

ArrayList問題

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

正在回答

3 回答

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

0 回復(fù) 有任何疑惑可以回復(fù)我~

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

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


0 回復(fù) 有任何疑惑可以回復(fù)我~

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

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_慕沐4213791 提問者

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

舉報(bào)

0/150
提交
取消
Java入門第三季
  • 參與學(xué)習(xí)       409775    人
  • 解答問題       4546    個(gè)

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

進(jìn)入課程
微信客服

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

幫助反饋 APP下載

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

公眾號

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