黑马程序员技术交流社区

标题: 集合类之间的区别和联系 [打印本页]

作者: 天涯莫名    时间: 2015-9-24 22:03
标题: 集合类之间的区别和联系

接口
简述
实现
操作特性
成员要求
Set
成员不能重复
HashSet
外部无序地遍历成员
成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。
TreeSet
外部有序地遍历成员;附加实现了SortedSet, 支持子集等要求顺序的操作
成员要求实现caparable接口,或者使用 Comparator构造TreeSet。成员一般为同一类型。
LinkedHashSet
外部按成员的插入顺序遍历成员
成员与HashSet成员类似
List
提供基于索引的对成员的随机访问
ArrayList
提供快速的基于索引的成员访问,对尾部成员的增加和删除支持较好
成员可为任意Object子类的对象
LinkedList
对列表中任何位置的成员的增加和删除支持较好,但对基于索引的成员访问支持性能较差
成员可为任意Object子类的对象
Map
保存键值对成员,基于键找值操作,compareTo或compare方法对键排序
HashMap
能满足用户对Map的通用需求
键成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。
TreeMap
支持对键有序地遍历,使用时建议先用HashMap增加和删除成员,最后从HashMap生成TreeMap;附加实现了SortedMap接口,支持子Map等要求顺序的操作
键成员要求实现caparable接口,或者使用Comparator构造TreeMap。键成员一般为同一类型。
LinkedHashMap
保留键的插入顺序,用equals 方法检查键和值的相等性
成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。
IdentityHashMap
使用== 来检查键和值的相等性。
成员使用的是严格相等
WeakHashMap
其行为依赖于垃圾回收线程,没有绝对理由则少用




作者: 迷茫不堪的年纪    时间: 2015-9-24 23:11
我先保存下 ,等会儿看
作者: sfgjys    时间: 2015-9-24 23:16
感觉到了实际项目是在总结更好




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2