-
继承Collection接口,是Collection的子类
-
存储顺序一致,有对应的索引值,元素可以重复
-
可以通过索引来操作元素,如set(1,"AA")就是通过1索引来修改数据
-
元素允许重复元素因此可以用equals方法来比较,自定义对象话我们要重写hashCode和equals方法
常用方法
public void add(int index,E element)将元素添加到指定的位置,index索引不能越级public E get(int index)获取索引元素public E remove(int index) (boolean remove根据元素值来删除)删除索引元素默认传数字的传索引,想要删除元素就用包装类public E set(int index,E element)修改指定索引的元素值
List的常用子类
如果要执行大量的增删操作选择LinkedList,如果只是查询的话用ArrayList
ArrayList集合
-
有序存储,继承了List的特性,平时常用来查询,遍历数据
-
底层是数组结构,所以增删慢,查询快,效率高意味着线程不安全
LinkedList集合
-
有序存储,继承了List的特性
-
底层是链表结构,所以增删快,查询慢,同样的效率高,但是线程不安全
-
LinkedList是一个双向链表
-
特有方法
public void addFirst(E e) :将指定元素插入此列表的开头。public void addLast(E e) :将指定元素添加到此列表的结尾。public E getFirst() :返回此列表的第一个元素。public E getLast() :返回此列表的最后一个元素。public E removeFirst() :移除并返回此列表的第一个元素。public E removeLast() :移除并返回此列表的最后一个元素//添加元素link.addFirst("AA");link.addLast("CC");System.out.println(link);// 获取元素System.out.println(link.getFirst());System.out.println(link.getLast());// 删除元素System.out.println(link.removeFirst());System.out.println(link.removeLast());System.out.println(link)