一、集合
基本集合
- Collection
- List 有序,可重复,索引速度快;插入删除速度慢
- Set 无序,不可重复。位置由HashCode决定并由此判断是否重复
- Map 键唯一,值多个
ArrayList LinkList
- ArrayList 基于数组,索引快,增删慢
- LinkedList 索引慢,增删快
ArrayList Vector
- Vector 线程安全,可以设置增长因子,效率低
- ArrayList 非线程安全
HashMap扩容
- 容器中元素个数大于等于阈值,就自动扩容
二、排序
- Arrays.sort函数。对于基础类型,底层使用快速排序。对于非基础类型,底层使用归并排序。请问是为什么?
- 答:这是考虑到排序算法的稳定性。对于基础类型,相同值是无差别的,排序前后相同值的相对位置并不重要,所以选择更为高效的快速排序,尽管它是不稳定的排序算法;而对于非基础类型,排序前后相等实例的相对位置不宜改变,所以选择稳定的归并排序。
网友评论