在Collection體系中,List集合是有序的,可對其中每個元素的插入位置進行精確地控制,可以透過索引來存取元素,遍歷元素。 List集合是指由List介面以及List介面的所有實作類別組成的集合,List有序集合也稱為序列,該介面的使用者可以精確地控制列表中每個元素的插入位置,使用者可以透過整數索引存取元素,並蒐索清單中的元素。與Set集合不同,清單通常允許重複元素。
1)有序:儲存和取出的元素順序一致;
2)可重複:儲存的元素可以重複。
boolean add(E e) :在集合中加入一個元素。
void add(int index, E element) :在指定位置新增元素。
boolean addAll(Collection<? extends E> c) :在集合中加入一個集合的元素。
void clear() :刪除集合中的所有元素。
E remove(int index) :根據指定索引刪除元素,並且將刪除的元素傳回。
boolean remove(Object o) :從集合中刪除指定的元素。
boolean removeAll(Collection<?> c) :從集合中刪除一個指定的集合元素。
E set(int index, E element) :把指定索引位置的元素修改為指定的值,傳回修改前的值。
E get(int index) :取得指定位置的元素。
Iterator iterator() :就是用來取得集合中每一個元素。
boolean isEmpty() :判斷集合是否為空。
boolean contains(Object o) :判斷集合中是否存在指定的元素。
boolean containsAll(Collection<?> c) :判斷集合中是否存在指定的一個集合中的元素。
int size() :取得集合中的元素個數。
Object[] toArray() :把集合變成陣列。
因為是透過List集合的listIterator()方法得到的,所以稱為List集合特有的迭代器。
ListIterator的常用方法如下:
1) E next() :傳回迭代器中的下一個元素。
2) boolean hasNext() :如果迭代具有更多元素,則傳回true。
3) E previous() :傳回清單中的上一個元素。
4) boolean hasPrevious() :如果此列表迭代器在相反方向遍歷列表時具有更多元素,則傳回true。
5) void add(E e) :將指定的元素插入清單。
例如:
importjava.util.ArrayList;importjava.util.List;importjava.util.ListIterator;publicclassMain{publicstaticvoidmain(String[]args){List<String>l=newArrayList<String>();l.add(hello);l. add(world);l.add(java);ListIterator<String>listit=l.listIterator();while(listit.hasNext()){Strings=listit.next();System.out.println(s); }System.out.println(www.dotcpp.com);while(listit.hasPrevious()){Stringsp=listit.previous();System.out.println(sp);}System.out.println(www.dotcpp .com);ListIterator<String>listit2=l.listIterator();while(listit2.hasNext()){Strings2=listit2.next();if(s2.equals(world)){listit2.add(dotcpp); }}System.out.println(l);}}
運行結果如下:
helloworldjavawww.dotcpp.comjavaworldhellowww.dotcpp.com[hello,world,dotcpp,java]