List集合概述
- 有序集合(也称序列)用户可以精确控制列表的每一个元素的位置插入,用户可以通过整数索引访问元素,并搜索列表中的元素
- 与set集合不同,列表通常允许重复的元素
List集合的特点
- 有序:存储和取出元素顺序一致
- 可重复:存储的元素可以重复
List集合实现类特点
- ArrayList:查询快,增删慢的一种数组
- LinkedList:查询慢,增删快的一种链表
ArrayList扩容机制
- ArrayList数组首先对传进来的初始化参数initalCapcity(初始容量)进行判断,参数如果为0,则初始化为一个空数组
- 如果不等于0,则初始化一个容量为10的数组
-
扩容时机:
- 当数组大小大于初始容量的时候,就会进行扩容,扩容为原来的1.5倍
-
扩容方式:
- 会将原数组拷贝到一个新数组里,修改原数组指向新数组,原数组被抛弃,会被GC回收
Set集合:
TreeSet集合特点:
- 元素有序,这里的顺序不是指存储和取出的顺序,而是按照一定的规则进行排序,具体方法取决于构造方法
- TreeSet(); 根据元素的自然派进行排序
- TreeSet(Comparator comparator); 根据指定得比较器进行排序
- 注:TreeSet要遍历时候必须在实现类实现Comparable接口,重写ComparaTo方法
List集合概述和特点
原文:https://www.cnblogs.com/IAoli/p/12545284.html