Map接口为我们提供了三种view接口
- Set<K> keySet()
- Collection<V> values()
- Set<Map.Entry<K, V>> entrySet()
- 在以上三个接口中使用remove方法也会删除map中一个key-value对
HashMap
- key, value可以为null
- 使用containsKey来判断key是否存在
- 非synchronized
- 存储结构:transient Node<K,V>[] table;
- hash冲突: 加入到链表中.
HashTable
- key, value都不可以为空
- 线程安全(锁住整张表)
- 存储结构使用transient Node<K,V>[] table;
- hash冲突, 加入到链表中
ConcurrentHashMap
- 线程安全
- 使用分段是存储,每个分段都有自己的锁(把锁的颗粒度减小)
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦