在集合中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`