在集合中List是一种有序链表
List主要的接口:
- 在末尾添加一个元素:
void add(E e) - 在指定索引添加一个元素:
void add(int index, E e) - 删除指定索引的元素:
int remove(int index) - 删除某个元素:
int remove(Object e) - 获取指定索引的元素:
E get(int index) - 获取链表大小(包含元素的个数):
int size()
它有两个实现类:ArrayList,LinkedList
- ArrayList:基于数组,也就是查询快速,插入和删除相对较慢
- LinkedLIst:基于链表,也就是插入删除快速,查询相对较慢
创建List
通过List接口定义的of()方法,可以快速的创造List(不能是null,add()中可以为null) ``` Listlist = List.of(1, 2, 5);
## 遍历List直接通过`for each`是最简单的方法,还可以通过`for`循环和迭代器(Iterator)
List
## 查找- `boolean contains(Object o)`方法来判断`List`是否包含某个指定元素。- `int indexOf(Object o)`方法可以返回某个元素的索引,如果元素不存在,就返回`-1`。## 杂`List`只是一个接口,如果调用`List.of()`,它返回的是一个只读`List`。
List
``
对只读List调用add()、remove()方法会抛出UnsupportedOperationException。<br />所以要操作List,就要实例化成ArrayList或LinkedList`
