1.List的子类有ArrayList,LinkedList,Vector

2.List的特点是元素可以重复,元素有序

3.下面请看List源码:


public interface List<E> extends Collection<E> {
	
	//返回List集合的大小,有多少个元索
	int size();
	
	//判断List列表是否为空
	boolean isEmpty();
	
	//判断List列表是否包含指定的元素
	boolean contains(Object o);
	
	//返回按适当顺序在列表的元素上进行迭代的迭代器。
	Iterator<E> iterator();
	
	//把列表元素转换成数组,返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。
	Object[] toArray();
	
	//返回按适当顺序(从第一个元素到最后一个元素)包含列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
	<T> T[] toArray(T[] a);
	
	boolean add(E e);//向列表的尾部添加指定的元素(可选操作)。
	
	//移除指定的元素,从此列表中移除第一次出现的指定元素(如果存在)(
	boolean remove(Object o);
	
	//判断是否包含指定的集合
	boolean containsAll(Collection<?> c);
	
	//添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序(可选操作)。
	boolean addAll(Collection<? extends E> c);
	
	//在index位置把指定的集合c添加到到列表中
	boolean addAll(int index, Collection<? extends E> c);
	
	//移除指定的集合
	boolean removeAll(Collection<?> c);
	
	//仅在列表中保留指定 collection 中所包含的元素
	boolean retainAll(Collection<?> c);
	
	//清空列表的元素
	void clear();
	
	//比较指定的对象与列表中的元素是否存在相等
	boolean equals(Object o);
	
	//返回hash码
	int hashCode();
	
	//得到指定位置的元素
	E get(int index);
	
	//用指定元素替换列表中指定位置的元素
	E set(int index, E element);
	
	void add(int index, E element);//在列表的指定位置index插入指定元素(可选操作)。
	
	//移除指定位置的元素
	E remove(int index);
	
	//从前往后返回指定元素在列表中第一次出现的位置
	int indexOf(Object o);
	
	//从后往前返回指定元素在列表中第一次出现的位置
	int lastIndexOf(Object o);
	
	//返回此列表元素的列表迭代器
	ListIterator<E> listIterator();
	
	//返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。
	ListIterator<E> listIterator(int index);
	
	//返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。
	List<E> subList(int fromIndex, int toIndex);
}




以上就是List的源码,如果想知道更多的信息,可以查阅官方的API更加的权威

本文为原创,转载请注明: