List接口特点:
- 允许重复元素
- 必须是有序的
- 可以放入null元素
ArrayList特点
- 里面维护的是一个数组
- 默认数组长度是10
- 支持自动扩充
- 如果已知元素个数,可以使用指定初始容量的构造方法,提供效率
- 插入,删除,排序,效率比较低
- 非线程安全
Vector特点
- 里面维护的是一个数组
- 默认数组长度是10
- 线程安全
LinkList特点
- 内部以双向链表实现
- 删除和插入效率高
Set接口特点:
不包含重复元素
HashSet特点
- 不保证迭代顺序
- 底层由HashMap实现
- 默认大小16
- 加载因子0.75
- 不包含重复元素
TreeSet特点
- 保证迭代顺序
- 底层由TreeMap实现
- 不能有重复元素
LinkHashSet特点
- 添加顺序就是输出顺序
- 使用哈希表加双向链表实现
- 底层使用LinkHashMap实现
- 它还是HashSet的子类
Iterator接口特点:
- 所有集合都实现了该接口
- 提供统一的迭代
ListIterator接口
- 继承自iterator
- 主要给list使用
- 进行前后遍历
Map接口的特点:
以key value形式存储
key不允许重复
它没有实现Collection接口
HashMap特点
- 可以使用null值和null键
- 哈希表+链表实现,提供了取数据的性能
- 不保证顺序
- 默认大小是16,加载因子0.75
- key对象的hashCode计算hash值
- .hash表重新散列,影响性能
- 每次重新散列,原来数组长度*2
- 非线程安全
HashTable特点
- 不允许使用null值和null键
- 默认大小11,加载因子0.75
- 线程安全
TreeMap特点
- 基于红黑树实现
- 非线程安全
- 以Key的自然顺序构建映射树
- 使用自定义对象作为key值的时候,该对象必须要实现comparable接口
LinkHashMap特点
- 添加顺序就是输出顺序
- 继承自HashMap
网友评论