欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

集合List及其实现类ArrayList源码解读

程序员文章站 2022-06-17 14:50:46
...

List是继承Collection的一个有序集合的接口,用户可以通过索引访问List集合的元素,以及查询该List集合中的元素,它不像Sets集合,List集合允许重复的元素,同时提供了很多的操作方法对元素进行操作,下面我们一起来看看它提供的方法及其用法。

public interface List<E> extends Collection<E>

这个接口声明中的E表示泛型。

/**
@returns the number of elements in this list
*/
int size();     //返回列表元素的个数
/**
@returns if this list contains no elements
*/
boolean isEmpty();   // 判断该列表是否有元素,如有则返回true,反之为false
/**
@returns <tt>true</tt> if thie list contains the specified element.
*/
boolean contains(Object o);  //如果list包含指定元素,则返回true,反之,返回false
/**
@returns an iterator over the elements in this list in proper sequence.
*/
Iterator<E> iterator();  //以适当的顺序返回此列表中元素的迭代器
/**
@returns  an array containing all of the elements in this list in proper sequence (from first to last element)
*/
Object [] toArray(); //返回包含此list中所有元素的数组(从第一个到最后一个)
/**
Appends the specified element to the end of this list (optional operation)
*/
boolean add(E e); // 在list的最后添加一个元素,如果成功,返回true
注意,添加元素的时候可能会抛出以下几个异常
异常类别 说明
UnsupportedOpertationException list不允许该操作
ClassCastException 强制类型转化失败
NullPointerException 空指针异常
IlllegalArgumentException 不合法参数异常
/**
@return Removes the first occurrence of the specified element from this first
*/
boolean remove(Object o); //移除list中指定的元素
注意,移除元素的时候可能会抛出以下几个异常
异常类别 说明
UnsupportedOpertationException list不允许该操作
ClassCastException 强制类型转化失败
NullPointerException 空指针异常
/**
Returns  <tt>true</tt> if this list conttains all of the elements of the specified collection
*/
boolean containsAll(Collection<?> c); //判断该list中是否包含另一个collection的所有元素
/**
 Append all of the elements in the specified collection to the end of this list
*/
boolean addAll(Collection<? extends E> c); //将另一collection中的元素全部添加到该liist中
注意,添加集合的时候可能会抛出以下几个异常
异常类别 说明
UnsupportedOpertationException list不允许该操作
ClassCastException 强制类型转化失败
NullPointerException 空指针异常
IlllegalArgumentException 不合法参数异常
/**
Removes from this list all of its elements that are contained in the specified collection(optional operation)
*/
boolean removeAll(Collecttion <?> c); //从该list中移除指定collection中包含的元素

下面是咱们平时操作List中用到的方法

方法 返回类型 异常类型 说明
void clear() UnsupportedoperationException 移除该list中的所有元素
boolean equals(Object o) boolean 判断该元素是否等于list中指定的元素
E get(int index) E IndexOutOfBoundsException 获得指定索引的元素
E set(int index, E element) E UnsupportedOpertationException , ClassCastException NullPointerException, IlllegalArgumentException, IndexOutOfBoundsException 设置指定索引元素的值
void add(int index,E element) UnsupportedOpertationException , ClassCastException NullPointerException, IlllegalArgumentException, IndexOutOfBoundsException 在指定索引处添加元素
E remove(int index) E UnsupportedOpertationException ,IndexOutOfBoundsException 移除指定索引的元素
int indexOf(Object o) int ClassCastException ,NullPointerException 返回第一次出现指定元素的索引
int lastIndexof(Object o) int ClassCastException ,NullPointerException 返回最后一次出现指定元素的索引

尚未结束,有待继续