本文主要总结Java集合类框架下的接口与类
助记:(Sorted ——天然顺序)
1.List
可自定义排序,可视作数组,索引从0开始
a. ArrrayList 依赖数组实现,对元素随机访问的性能很好,若进行大量的插入,删除操作,性能很差
b. Vector 与ArrayList基本相同,但功能方法是同步的,同时只能有一个线程访问。
c. LinkedList 内部依靠双链表实现,有很好的删除,插入性能,但随机访问元素的性能相对较差。
2.Set
Set中equals方法比较任何两个对象都返回False,即Set不允许有重复的元素。
a. HashSet 元素保存不按照任何顺序,按哈希策略存储,可添加NULL一次,每次添加都调用HashCode方法
b. LinkedHashSet 自定义排序,采用双链表实现,默认按插入顺序排序,其余与HashSet一致
c. SortedSet 按天然顺序排序与遍历。
d. TreeSet 按天然顺序排序,不使用哈希策略,调用CompareTo方法,按二叉树(红-黑二叉树)结构存储,插入新的元素时不必与所有原有元素比较
1. HashMap 既不是Ordered也不是Sorted,按哈希策略存储
2. Hashtable 与HashMap基本相同,但元素操作时同步的,损害性能,不允许NULL键的存在。
3. LinkedHashMap 通过双链表实现的Map,Ordered类型,键按照插入集合的顺序存储,基本功能和HashMap相同,插入/删除效率比HashMap差,遍历效率比HashMap高
4. SortedMap Sorted类型,需实现Comparable接口
5. TreeMap 遍历时按天然顺序
阅读(616) | 评论(0) | 转发(0) |