HashMap
数据结构是以数组+链表的方式进行存储
以entry的形式进行存储,每个entry是一个key-value
容量默认为16,默认负载因子0.75
fail-fast机制(使用迭代器过程中如果有其他进程修改map,抛出异常)
非同步,线程不安全
允许key、value为null
单线程时效率高
HashSet
由hashmap实现(使用hashmap的key保存元素,定义了一个虚拟的object作为value进行存储)
允许null元素
HashTable
通过拉链法实现的哈希表
fail-fast机制
负载因子默认0.75
线程同步、安全的
key、value都不允许为null
concurrentHashMap
hashmap的线程安全类
使用锁分段技术,map下的是segment,每个segment下包含多个hashEntry,默认map下有16个segment
多线程调用时仅锁定当前的segment,这样效率大大的提高了
后面其他博客会详细深入的分析各个类的原理
新闻热点
疑难解答