黑马程序员技术交流社区
标题:
集合总结,清晰明了
[打印本页]
作者:
xyy222
时间:
2016-12-3 00:27
标题:
集合总结,清晰明了
集合总结
Collection(接口)
|--List(接口) 有序,可重复,有索引
|--ArrayList
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高
|--Vector
底层数据结构是数组,查询快,增删慢。
线程安全,效率低
|--LinkedList
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
|--Set(接口) 无序,唯一,无索引
|--HashSet
底层数据结构是哈希表。
如何保证元素唯一性的呢?
依赖两个方法:hashCode()和equals()
开发中自动生成这两个方法即可
|--LinkedHashSet
底层数据结构是链表和哈希表
由链表保证元素有序
由哈希表保证元素唯一
|--TreeSet
底层数据结构是红黑树。
如何保证元素排序的呢?
自然排序:实现Comparable接口,重写compareTo()方法
比较器排序:定义一个比较器实现Comparator接口,重写compare方法
定义集合的时候将比较器作为参数传递给TreeSet的构造函数,这样集合就具有了比较性
如何保证元素唯一性的呢?
根据比较的返回值是否是0来决定
|Map(接口) 双列集合的根接口 键key 值value (存取无序、键不可重复、无索引)
|--HashMap 底层是哈希表,存取无序、键不可重复、无索引,线程不安全,效率高。允许存储null键和null值
|--LinkedHashMap 存取有序,其他和Map一样
|--Hashtable 底层是哈希表,存取无序、键不可重复、无索引,线程安全,效率低。不允许存储null值,null键
|--TreeMap 底层是二叉树,排序、键不可重复、无索引。
作者:
你好,师姐
时间:
2016-12-3 01:23
可以收藏
作者:
lieyemu
时间:
2016-12-3 22:29
赞一个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2