Java筆記--ArrayList集合
ArrayList集合
ArrayList集合長(zhǎng)度可變?cè)恚?/span>
1、當(dāng)創(chuàng)建ArrayList容器時(shí),底層會(huì)存在一個(gè)長(zhǎng)度為10個(gè)大小的空數(shù)組。
2、當(dāng)集合中的元素大于10的時(shí)候,集合會(huì)擴(kuò)容元素組1.5倍大小的新數(shù)組。
3、將原數(shù)組數(shù)據(jù)拷貝到新數(shù)組中。
4、將新元素添加到新的數(shù)組。

集合和數(shù)組的使用選擇:
數(shù)組:存儲(chǔ)的元素個(gè)數(shù)固定不變;
集合:存儲(chǔ)的元素個(gè)數(shù)經(jīng)常發(fā)生改變。
ArrayList集合的使用:
1、構(gòu)造方法:
public ArrayList( ); 創(chuàng)建一個(gè)空的集合容器。
集合容器中添加元素的方法: list.add(元素);


我們目前打印出String、StringBui、ArrayList這些類的對(duì)象名時(shí),并不會(huì)出現(xiàn)地址,這個(gè)問(wèn)題以后會(huì)學(xué)到。
2、集合容器的創(chuàng)建細(xì)節(jié):
當(dāng)我們使用ArrayList list = new ArrayList( );創(chuàng)建集合容器的時(shí)候,集合容器中可以添加任意類型的數(shù)據(jù),這樣會(huì)導(dǎo)致處理數(shù)據(jù)的時(shí)候,出現(xiàn)各種各樣的問(wèn)題。
所以我們可以這樣創(chuàng)建:
ArrayList<String> ?list ?= ?new ?ArrayList<String>( );
注意:在jdk7版本開始,等號(hào)右邊<>里面可以不用寫內(nèi)容。
*<>:泛型
后面會(huì)學(xué)習(xí),目前只需要了解它可以對(duì)集合中的數(shù)據(jù)類型做限制。
泛型中,不允許編寫基本數(shù)據(jù)類型。
如果要存儲(chǔ)基本數(shù)據(jù)類型,應(yīng)寫其對(duì)應(yīng)的包裝類。



ArrayList常用成員方法:
1、增:
public boolean add(E e):將指定的元素添加到此列表的尾部。
例如:list.add("abc");
字符串"abc"將被添加至這個(gè)數(shù)組容器中元素的末尾。
public void add(int index, E element): 在指定的索引位置處,添加對(duì)應(yīng)的元素。(插隊(duì))

如圖:在0號(hào)索引處插入了"張三4"。

2、刪:
public E remove(int index): ?刪除指定索引位置處的元素,返回值是被刪掉的元素。
例如要?jiǎng)h除上圖的張三2 ?list.remove(2); 如果定義一個(gè)變量來(lái)接收它,變量接收的值是"張三2" 。
public ?boolean remove(Object o): 刪除指定元素。
例如刪除上面的張三2 ?list.remove("張三2"); 返回true或false。
3、改:
public E set(int index,E element): 修改指定索引處的元素。返回值是被覆蓋掉的元素。

"張三2"被修改為"李四",如果定義一個(gè)變量接收返回值,返回值為"張三2"。

4、查:
public E get(int index): 根據(jù)索引,獲取集合中的元素。
例如獲取上圖中的李四:String s1 = list.get(1);因?yàn)槭遣檎?,所以一般都要用變量?lái)接收它。
public int size( ): 返回集合中的元素個(gè)數(shù)。

集合的遍歷操作:





