码迷,mamicode.com
首页 > 其他好文 > 详细

List,Set,Map的区别

时间:2019-12-17 13:17:45      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:shm   支持   集合   查询   hashcode   edm   code   info   图片   

这三个是我们初级开发面试必问面试题

技术图片

 

 

 

1.List接口(有序)

ArrayList:基于数组,增删慢,查找快,线程不安全,应该是开发中最常用到的

LinkedList:基于链表,增删快,查找慢,线程不安全

图中还缺少Vector,也是基于数组,线程安全,效率低。

2.Set接口

HashSet:快速定位一个元素,以HashCode来实现的。集合元素可以是null,但只能放入一个null。

TreeSet:生成一个总是处于排序状态的set,内部以TreeMap来实现,不允许放入null值。

LinkedHashSet:LinkedHashSet集合同样是根据元素的hashCode值来决定元素的存储位置,但是它同时使用链表维护元素的次序。

3.Map接口

HashMap:以哈希表数据结构实现,查找对象时通过哈希函数计算其位置,它是为快速查询而设计的;线程不安全,效率高,允许key-value都为null

HashTable:基本淘汰,线程安全,效率低,不支持null

TreeMap:有序散列表,实现SortedMap接口

List,Set,Map的区别

标签:shm   支持   集合   查询   hashcode   edm   code   info   图片   

原文地址:https://www.cnblogs.com/notwritebug/p/12053716.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!