A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

collection
list : vector、arrayList、linkedList
vector:同步的、线程安全的、效率低
初始大小:10、扩容方式:1倍
底层实现:数组

arrayList:存储类型:object,允许为null,初始容量:10,扩容方式:1.5倍+1
非同步的、线程不安全、查询快、增删慢
底层实现:数组

linkedList:存储类型:object,允许为null
线程不安全
底层实现:双向链表:  增删快、查询慢

set:
hashSet:无序、不可重复
底层是hashMap(哈希表)
默认容量为16,加载因子:0.75
扩容:一倍
linkedHashSet:有序、不可重复、
底层是哈希表和链表的结合

map:双列集合
hashTable:初始容量11,加载因子:0.75
同步、线程安全的、
不允许key和value为null
扩容方式  2倍+1

hashMap:初始容量:16,加载因子:0.75
线程不安全、允许一个key为null,因为key不能重复
扩容:2倍、效率高
hashCode:key的hashCode值与  value 的hashCode值 按位  与或
哈希表+链表

ConcurrentHashMap(CHM)
线程安全、性能较高
根据默认的并发级别,Map被分割成16个部分,并且由不同的锁控制。这样的话可以同时最          多有16个写线程进行操作Map
问题:但由于一些更新操作,如put(),remove(),putAll(),clear()只锁住操作的部分,所以在检索操作不能保证返回的是最新的结果

treeMap
1.无序,不允许重复(无序指元素顺序与添加顺序不一致)
2.TreeMap集合默认会对键进行排序,所以键必须实现自然排序和定制排序中的一种
3..底层使用的数据结构是二叉树
如何定制排序:重写compareTo方法


关于集合篇,hashmap实现原理,还有ConcurrentHashMap(CHM)尽情期待~




评分

参与人数 2黑马币 +6 收起 理由
行者思齐 + 1
liudongjie + 5 很给力!

查看全部评分

10 个回复

正序浏览
优秀
回复 使用道具 举报
多来几弹!
回复 使用道具 举报
回复 使用道具 举报
        
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
棒棒哒
回复 使用道具 举报
Vicky韦 来自手机 黑马粉丝团 2018-12-7 09:59:19
板凳
棒棒棒
回复 使用道具 举报
占楼
回复 使用道具 举报
很全面  666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马