List 的方法列表
方法名 | 功能說明 | |
---|---|---|
ArrayList() | 構(gòu)造方法,用于創(chuàng)建一個(gè)空的數(shù)組列表 | |
add(E e) | 將指定的元素添加到此列表的尾部 | |
get(int index) | 返回此列表中指定位置上的元素 | |
size() | 返回此列表中的元素?cái)?shù) | |
clear() | 移除此列表中的所有元素 | |
isEmpty() | 如果此列表中沒有元素,則返回true | |
remove(int index) | 移除此列表中指定位置上的元素 | |
indextof(Object o) | 返回此列表中首次出現(xiàn)的指定元素的索引,或如果此列表不包含元素,則返回-1 | |
toArray | 按適當(dāng)順序(從第一個(gè)到最后一個(gè)元素)返回包含此列表中所有元素的數(shù)組 |
下面將用一個(gè)簡(jiǎn)單的例子進(jìn)行說明:
實(shí)現(xiàn)類ArrayList
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
package yjlblog; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Test { public static void main(String[] args) { List list = new ArrayList();//List 是接口,用多態(tài)需要指向它的實(shí)現(xiàn)類 list.add("double kill"); list.add("three kill"); list.add("four kill"); list.add("pentakill"); System.out.println(list); //[double kill, three kill, four kill, pentakill] //默認(rèn)調(diào)用的是tostring 方法,但是這個(gè)頭string方法不是object里面的,可以查幫助文檔可知,是繼承的collection的一個(gè)方法 System.out.println(list.get(2)); //four kill String s = (String)list.get(2);//如果用定義變量的形式來表示的話,需要用到強(qiáng)制類型的轉(zhuǎn)換,因?yàn)閘ist。get()方法是object的類里的 System.out.println(list.isEmpty()); //false //list.clear(); //System.out.println(list.isEmpty()); //true //System.out.println(list.remove(2));//輸出制定索引的 被“刪除的元素” list.remove(1);//刪除索引為“1” 的元素 System.out.println(list);//[double kill, four kill, pentakill],刪除了索引為“1”的元素 System.out.println(list.indexOf("double kill"));//0 輸出所指明字符串的 “索引值” System.out.println(list.size());// 3 ,返回?cái)?shù)組的長(zhǎng)度 Object[] obj = list.toArray(); System.out.println(obj.length); //數(shù)組的遍歷 for 循環(huán) for (int i = 0;i < list.size();i++) { System.out.print(list.get(i)+" "); } System.out.println(); //使用for each 語句 for (Object x:list) { System.out.print(x+" "); } System.out.println(); //使用迭代器 //1.先獲得list集合的迭代器 Iterator iterator = list.iterator(); //2.通過它的hasNest方法,判斷是否遍歷完成,用循環(huán)實(shí)現(xiàn) while (iterator.hasNext() == true) { //3.使用next方法,去除它的下一個(gè)元素 System.out.print(iterator.next()+" "); } System.out.println(); } } //再寫上迭代器的說明 //加上arraylist 和 linbkedlist的區(qū)別 和代碼 //加上后面的幾個(gè)方法 |
實(shí)現(xiàn)類LinkedList
List 接口的鏈接列表實(shí)現(xiàn),實(shí)現(xiàn)所有可選的列表操作,并且允許所有元素(包括null)。除了實(shí)現(xiàn)List接口外,LinkedList類還為在列表的開頭及結(jié)尾get,remove,insert元素提供了統(tǒng)一的命名方法。這些操作允許將鏈表列表表應(yīng)作堆棧、隊(duì)列、或雙端隊(duì)列。
LinkedList的部分方法
方法名 | 功能說明 | |
---|---|---|
addFirst(E e) | 將指定元素插入此列表的開頭 | |
addLast(E e) | 將指定元素添加到此列表的結(jié)尾 | |
removeFirst() | 移除并返回此列表的第一個(gè)元素 | |
removeLast() | 移除并返回此列表的最后一個(gè)元素 | |
getFirst() | 返回此列表中的第一個(gè)元素 | |
getLast() | 返回此列表中的最后一個(gè)元素 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package yjlblog; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Test { public static void main(String[] args) { List list = new LinkedList();//List 是接口,用多態(tài)需要指向它的實(shí)現(xiàn)類 list.add("double kill"); list.add("three kill"); list.add("four kill"); list.add("pentakill"); System.out.println(list); //[double kill, three kill, four kill, pentakill] //和ArrayList 的其他方法都是一樣的,只是加了一些方法 |
集合的遍歷
從上面的例子中也有所提及,下面看代碼
使用for 循環(huán)
使用for -each 循環(huán)
使用Iterator(迭代器)接口
每個(gè)集合類都提供了iterator方法以返回一個(gè)迭代器,通過這個(gè)迭代器,可以完成集合的遍歷或刪除操作,迭代器的使用步驟如下:
****
1.通過Iterator方法獲得集合的迭代器
2.通過調(diào)用hasNext 方法判斷是否存在下一個(gè)元素
3.使用next方法,去除它的下一個(gè)元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
//數(shù)組的遍歷 for 循環(huán) for (int i = 0;i < list.size();i++) { System.out.print(list.get(i)+" "); } System.out.println(); //使用for each 語句 for (Object x:list) { System.out.print(x+" "); } System.out.println(); //使用迭代器 //1.先獲得list集合的迭代器 Iterator iterator = list.iterator(); //2.通過它的hasNest方法,判斷是否遍歷完成,用循環(huán)實(shí)現(xiàn) while (iterator.hasNext() == true) { //3.使用next方法,去除它的下一個(gè)元素 System.out.print(iterator.next()+" "); } System.out.println(); |
以上這篇java 集合之實(shí)現(xiàn)類ArrayList和LinkedList的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://www.cnblogs.com/yjlblog/p/7687644.html