Java集合中List、Set、Map理解

   日期:2020-10-18     浏览:100    评论:0    
核心提示:学习内容:List Set接口继承Collection接口 Map不是List可以存放重复元素 Set不可以 实现List接口的集合有:ArrayList、LinkedList、vector、StackArrayList(线程不安全)和vector(线程安全)底层由数组组成(都是有序非同步的集合)LInkedList(线程不安全)底层由双向链表组成Set不可以存放重复元素 实现Set接口的集合由:TreeSet、HashSet、LinkedHashSet、EnumSetTreeSet(非线程

List Set继承Collection接口 Map不是
List可以存放重复元素 Set不可以 实现List接口的集合有:ArrayList、LinkedList、vector、Stack
ArrayList(线程不安全)和vector(线程安全)底层由数组组成(都是有序非同步的集合)
LInkedList(线程不安全)底层由双向链表组成

Set不可以存放重复元素 实现Set接口的集合由:TreeSet、HashSet、LinkedHashSet、EnumSet
TreeSet(非线程安全)由红黑树实现
HashSet(非线程安全)是查询速度最快的集合,内部由HashCode实现
HashSet集合判断两个元素相等的标准应该是先判断元素的hashcode(),如果不同则两个元素不同;如果两个元素的hashcode()相同,则再调用equals()进行比较,如果返回true,则两个元素相等,返回false则不想等。
LinkedHashSet(非线程安全)性能比HashSet好,但是插入时性能稍微逊色于HashSet。

Map接口不继承Collection 是由键值对组成(key-value) 实现map的集合有:HashMap、TreeMap、WeakHashMap、HashTable。
HaspMap (非线程安全)是非同步的 底层由数组+链表+红黑树实现
TreeMap (非线程安全)底层由红黑树实现
WeakHashMap (非线程安全)使用的是弱引用,适用于缓存
HashTable 是同步的 (线程安全)(因为通过synchronized锁) 继承自Dictionary类

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服