List是一种有序的集合(An ordered collection)。也叫序列(sequence)。也是集合框架的一员。
用户可以控制List中元素插入的位置。通过整型的索引访问或寻找元素。
和sets不同的是:List允许复制元素。
List接口提供了4种方法来访问List元素位置。
Lists和Arrays都是基于0的。
List接口提供了一个特殊的iterator叫做ListIterator,来对list元素进行插入和替代操作。
List接口提供了两种方法去收索指定的对象。使用时需谨慎,因为它们代价比较大。
List接口提供了在list中任意位置两种高效的插入和移除多种元素的方法
List接口中的方法:
1. int size();//返回list中元素的数目,当数目大于Integer.MAX_VALUE时,则返回Integer.MAX_VALUE;
2.boolean isEmpty();//当list中没有元素时,则返回true.
3.boolean contains(Object o);//当list中存在o时,则返回true.
4. Iterator<E> iterator();//返回一个iterator,包含list中的元素,以一个合适的序列。
5.Object[] toArray();//返回一个Array,包含list中所以的元素。
6.<T> T[] toArray(T[] a);
7.boolean add(E e);//把e添加到list的末尾。
8.boolean remove(Object o);//把o从list中删除。返回true,当list中含有这个O时。
9. boolean containsAll(Collection<?> c);//返回true当list包含collection c中所有的元素。
10. boolean addAll(Collection<? extends E> c);//将集合中所有的元素都添加到list的末尾。
11. boolean addAll(int index, Collection<? extends E> c);
12.boolean removeAll(Collection<?> c);
13. boolean retainAll(Collection<?> c);//保留只在list中的元素
14.void clear();//删除list中所有的元素。
15.boolean equals(Object o);
16. int hashCode();
位置访问操作方法:
17.E get(int index);//返回指定位置的元素。
18.E set(int index, E element);用element替代指定位置的元素。
19.void add(int index, E element);插入一个元素到指定位置。
20. E remove(int index);移除指定位置的元素。
21.int indexOf(Object o);返回第一次出现o的索引。
22. int lastIndexOf(Object o);返回最后一次出现o的索引。
// List Iterators
23.ListIterator<E> listIterator();
24.ListIterator<E> listIterator(int index);
// View
25.List<E> subList(int fromIndex, int toIndex);返回一个从fromIndex到toIndex的list视图。