集合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 | 返回最后一次出现指定元素的索引 |
尚未结束,有待继续
上一篇: Java集合--List及其实现类