在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]