1. 程式人生 > >java中List的用法和例項詳解

java中List的用法和例項詳解

的用法
List
包括List介面以及List介面的所有實現類。因為List介面實現了Collection介面,所以List介面擁有Collection介面提供的所有常用方法,又因為List是列表型別,所以List介面還提供了一些適合於自身的常用方法,如表1所示。

1 List介面定義的常用方法及功能從表1可以看出,List介面提供的適合於自身的常用方法均與索引有關,這是因為List集合為列表型別,以線性方式儲存物件,可以通過物件的索引操作物件。
List
介面的常用實現類有ArrayListLinkedList,在使用List集合時,通常情況下宣告為List型別,例項化時根據實際情況的需要,例項化為ArrayList
LinkedList,例如:
List<String> l = new ArrayList<String>();//
利用ArrayList類例項化List集合
List<String> l2 = new LinkedList<String>();//
利用LinkedList類例項化List集合
1
add(int index, Object obj)方法和set(int index, Object obj)方法的區別在使用List集合時需要注意區分add(int index, Object obj)方法和set(int index, Object obj)
方法,前者是向指定索引位置新增物件,而後者是修改指定索引位置的物件,例如執行下面的程式碼:
src/com/mwq/TestCollection.java
關鍵程式碼:
public static void main(String[] args) {
String a = "A", b = "B", c = "C", d = "D", e = "E";
List<String> list = new LinkedList<String>();
list.add(a);
list.add(e);
list.add(d);
list.set(1, b);//
將索引位置為1的物件e修改為物件b
list.add(2, c);//
將物件c新增到索引位置為2的位置
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
在控制檯將輸出如下資訊:
A
B
C
D
因為List集合可以通過索引位置訪問物件,所以還可以通過for迴圈遍歷List集合,例如遍歷上面程式碼中的List集合的程式碼如下:
src/com/mwq/TestCollection.java
關鍵程式碼:
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));//
利用get(int index)方法獲得指定索引位置的物件
}
src/com/mwq/TestCollection.java
完整程式碼如下:
package com.mwq;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Iterator;
import java.util.List;
public class TestCollection {
public static void main(String[] args) {
System.out.println("
開始:");
String a = "A", b = "B", c = "C", d = "D", e = "E";
List<String> list = new LinkedList<String>();
list.add(a);
list.add(e);
list.add(d);
list.set(1, b);//
將索引位置為1的物件e修改為物件b
list.add(2, c);//
將物件c新增到索引位置為2的位置
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
//                 for (int i = 0; i < list.size(); i++) {
//                       System.out.println(list.get(i));//
利用get(int index)方法獲得指定索引位置的物件
//          }
System.out.println("
結束!");
}
}
2
indexOf(Object obj)方法和lastIndexOf(Object obj)方法的區別在使用List集合時需要注意區分indexOf(Object obj)方法和lastIndexOf(Object obj)方法,前者是獲得指定物件的最小的索引位置,而後者是獲得指定物件的最大的索引位置,前提條件是指定的物件在List集合中具有重複的物件,否則如果在List集合中有且僅有一個指定的物件,則通過這兩個方法獲得的索引位置是相同的,例如執行下面的程式碼:
src/com/mwq/TestCollection.java
關鍵程式碼:
public static void main(String[] args) {
String a = "A", b = "B", c = "C", d = "D", repeat = "Repeat";
List<String> list = new ArrayList<String>();
list.add(a);          //
索引位置為 0
list.add(repeat);      //
索引位置為 1
list.add(b);          //
索引位置為 2
list.add(repeat);      //
索引位置為 3