黑马程序员技术交流社区

标题: Collection和Map的区别 [打印本页]

作者: lxj608770    时间: 2016-8-19 07:37
标题: Collection和Map的区别
Map双列集合特点及其子类HashMap,TreeMap
Collection单列集合特点及子类其List,Set
List有ArrayList,LinkedList,Vector
Set有TreeSet,HashSet
Map是双列集合其子类HashMap,Hashtable
单列集合依赖双列集合
ArrayList是底层数组,有索引值所以它的查询速度快,删除元素的话它后面的元素都向前移动,添加也是这样,所以它的增删慢。线程不安全,不同步,但效力高。
LinkedSet底层依赖于链表,它的查询慢,增删快,线程不安全,不同步,效力高。
Vector是线程安全的,效力低,同步的。它的底层是数组,查询慢,删除慢,所以它被淘汰了。
HashSet 使用哈希算法去重复, 效率高, 但元素无序 。
LinkedHashSet HashSet是Set的子类, 原理相同, 除了去重复之外还能保留存储顺序
TreeSet 使用二叉树算法排序, 可以指定元素的存储顺序
Map 一次存两个对象, 键值对 * HashMap 使用哈希算法对键去重复, 效率高, 但无序 * LinkedHashMap 使用哈希算法去重复, 并且保留存储顺序 * TreeMap 使用二叉树算法排序, 可以自定义顺序 * Hashtable 类似HashMap, 线程安全, 效率略低, 同步的,不允许出现null键和null值


作者: 哈韩浪子    时间: 2016-8-19 09:50
写的好详细
作者: 菜菜_f9490    时间: 2016-8-19 09:57
写的 好仔细啊 直接抄笔记上去
作者: 爱你一万年    时间: 2016-8-19 11:01
集合这块,了解的蛮深啊




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