###ArrayList系列集合的使用
– ArrayList继承了Collection集合,Collection集合的功能它都有。
– ArrayList特点是有序,可重复,有索引。
– ArrayList集合因为有索引,所以多了很多按照索引操作的特有功能:
- public void add(int index, E element): 将指定的元素,添加到该集合中的指定位置上。
- public E get(int index):返回集合中指定位置的元素。
- public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。
- public E set(int index, E element): 用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
– ArrayList集合底层是基于可变数组存储元素的,查询元素性能快,增删元素相对慢!!!
一般开发中ArrayList用的最多!!
###LinkedList系列集合:
LinkedList集合:元素有序,有索引,可重复。
LinkedList集合:底层是基于链表存储元素的,LinkedList是一个双向链表
LinkedList集合: 查询慢,增删快,#元素是游离存储的。
LinkedList集合因为是双链表,“首尾元素操作的性能极高”,所以LinkedList
多了很多首尾元素操作的API(性能好):
- public void addFirst(E e):将指定元素插入此列表的开头。
- public void addLast(E e):将指定元素添加到此列表的结尾。
- public E getFirst():返回此列表的第一个元素。
- public E getLast():返回此列表的最后一个元素。
重复,无索引的,重复的会去掉。
LinkedHashSet:添加的元素是有序,不重复,无索引的,重复的会去掉。
为什么无序不重复,上篇推文已介绍,这里就不赘述了! - public E removeFirst():移除并返回此列表的第一个元素。
- public E removeLast():移除并返回此列表的最后一个元素。
- public E pop():从此列表所表示的堆栈处弹出一个元素。
- public void push(E e):将元素推入此列表所表示的堆栈。
###Set系列集合的特点:
添加的元素是无序,不重复,无索引的,重复的会去掉。
HashSet: 添加的元素是无序,不重复,无索引的,重复的会去掉。
LinkedHashSet:添加的元素是有序,不重复,无索引的,重复的会去掉。
为什么无序不重复,上篇推文已介绍,这里就不赘述了!