1. List
在集合框架中,
List
是一个接口,继承自
Collection
。
Collection也是一个接口,该接口中规范了后序容器中常用的一些方法,具体如下所示:
Iterable也是一个接口,表示实现该接口的类是可以逐个元素进行遍历的,具体如下:
Listhttps://docs.oracle.com/javase/8/docs/api/java/util/List.html
站在数据结构的角度来看,
List
就是一个线性表,即
n
个具有相同类型元素的有限序列,在该序列上可以执行增删
改查以及变量等操作
。
2. 常见接口介绍
List
中提供了好的方法,具体如下:
方法 | 解释 |
boolean add(E e) | 尾插 e |
void add(int index, E element) | 将 e 插入到 index 位置 |
boolean addAll(Collection<? extends E> c) | 尾插 c 中的元素 |
E remove(int index) | 删除 index 位置元素 |
boolean remove(Object o) | 删除遇到的第一个 o |
E get(int index) | 获取下标 index 位置元素 |
E set(int index, E element) | 将下标 index 位置元素设置为 element |
void clear() | 清空 |
boolean contains(Object o) | 判断 o 是否在线性表中 |
int indexOf(Object o) | 返回第一个 o 所在下标 |
int lastIndexOf(Object o) | 返回最后一个 o 的下标 |
List<E> subList(int fromIndex, int toIndex) | 截取部分 list |
3. List的使用
注意:List是个接口,并不能直接用来实例化。
如果要使用,必须去实例化List的实现类。在集合框架中,ArrayList和LinkedList都实现了List接口。
public static void main1(String[] args) {
List<Integer> stack = new Stack<>();//栈
List<Integer> arrayList = new ArrayList<>();//顺序表
List<Integer> linkedList = new LinkedList<>();// 链表
}