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

它有两个实现类:ArrayListLinkedList

  • ArrayList:基于数组,也就是查询快速,插入和删除相对较慢
  • LinkedLIst:基于链表,也就是插入删除快速,查询相对较慢

    创建List

    通过List接口定义的of()方法,可以快速的创造List(不能是nulladd()中可以为null) ``` List list = List.of(1, 2, 5);
  1. ## 遍历List
  2. 直接通过`for each`是最简单的方法,还可以通过`for`循环和迭代器(Iterator

List list = List.of(“apple”, “pear”, “banana”); for (String s : list) { System.out.println(s); }

  1. ## 查找
  2. - `boolean contains(Object o)`方法来判断`List`是否包含某个指定元素。
  3. - `int indexOf(Object o)`方法可以返回某个元素的索引,如果元素不存在,就返回`-1`
  4. ## 杂
  5. `List`只是一个接口,如果调用`List.of()`,它返回的是一个只读`List`

List list = List.of(12, 34, 56); list.add(999); // UnsupportedOperationException

`` 对只读List调用add()remove()方法会抛出UnsupportedOperationException。<br />所以要操作List,就要实例化成ArrayListLinkedList`

编写equals方法