一、List接口
List 接口是 Collection 接口的子接口,用于定义有序、允许重复的集合。
Collection 接口的子接口,特征:数据有序【索引编号】允许重复。
在 Collection 接口的基础上添加了每个元素的索引编号,编号从 0 开始到 size-1 结束。
public interface List<E> extends Collection<E> 继承 Collection 接口,所以 Collection 接口中的所有方法 List都有。
1、新增的方法: 都是和位置有关的方法
void add(int index, E element);
向指定下标位置上添加元素,原始位置上的元素后移。
boolean add(Object o)
向集合末尾追加元素 。
Object remove(int index);
删除指定位置上的元素,并且返回被删除的元素 。
boolean remove(Object)
删除第一个和 object 参数相等的元素,实际上是 Collection 接口中的方法
E set(int index, E element);
覆盖修改指定位置上的元素 。
E get(int index);
获取指定位置上的元素,index 取值返回[0,list.size()),超出范围则越界异常 。
int indexOf(Object o);
从前向后查找第一个指定的元素,依赖于对象中的 equals 进行比较,如果不存在则返回-1 。
int lastIndexOf(Object o);
从后向前查找第一个指定的元素,依赖于对象中的 equals 进行比较,如果不存在则返回-1 。
2、特殊的迭代器ListIterator
public interface ListIterator<E> extends Iterator<E> 继承自Iterator
boolean hasPrevious();
判断位置指针之前是否有元素,有 true 没有 false 。
E previous();
获取前一个元素。
int nextIndex();
获取下一个元素的下标序号值 。
int previousIndex();
获取前一个元素的下表序号值。
void set(E e);
修改当前位置指针指向的元素,新值 e 替换原始数据。
void add(E e);
在当前位置上添加一个新元素,原始位置上的数据后移。
二、Set接口
Set
接口是
Collection
接口的子接口,用于定义无序,不允许重复的集合。
没有新的方法。
特征:无序、不允许重复。