1. 程式人生 > >集合框架二:List

集合框架二:List

Collection類的子介面---List
位於:
java.util包下的
public interface List<E>extends Collection<E>
特點:List儲存的特點:有序(儲存和取出的元素一致)/可以重複的
允許多個 null 元素


一、List特有的成員方法:
1.void add(int index,Object element):在指定位置新增元素


2.Object get(int index);返回集合中指定的元素


3.ListIterator<E> listIterator(int index):List特有的迭代器
檢視API 瞭解ListIterator 迭代器
其中有兩個方法:
hasPrevious()
previous()
      和
hasNext();
next();方法進行比較
 
4.刪除元素:
Object remove(int index):根據指定的索引刪除元素,返回刪除的元素

5.Object set(int index,Object element):根據索引修改元素,返回被修改的元素


6.返回集合中的元素個數:int size();


二、ConcurrentModificationException
表示:併發修改異常


集合中如果有kevin,就新增cidy


程式碼:
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("java");
list.add("kevin");


// 自己寫的遍歷集合的工具類,
ArrayDemo.arrCollection(list);


System.out.println("---------------------------");


// 解決方法一:使用普通for
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
if (s.equals("kevin")) {
list.add("cidy");
}
System.out.println(s);
}


// 解決方法二:
ListIterator<String> lt = list.listIterator();
while (lt.hasNext()) {
String s = lt.next();
if (s.equals("kevin")) {
//將指定的元素插入列表(可選操作)。
//該元素直接插入到 next 返回的下一個元素的前面(如果有),
//或者 previous 返回的下一個元素之後(如果有)
lt.add("cidy");//ListIterator 中有個add()方法,可以新增到
}


}
System.out.println(list);






自己寫的工具類:
import java.util.Collection;
import java.util.Iterator;


public class ArrayDemo {
private ArrayDemo(){};

public static void arrCollection(Collection c){
Iterator<String> i = c.iterator();
while (i.hasNext()) {
String s = i.next();
System.out.println(s);
}
}
}