五种Map集合简介
2017-03-03 15:46
76 查看
1、HashMap的底层实现
这里简单提一下,HashMap的底层实现是一个哈希表。当然,这是一个性能比较高的哈希表,哈希表的长度增长、散列算法等都进行了优化。2、HashMap和HashTable的区别
二者实现的功能是相似的,只在一些小的方面有区别:HashMap是非线程安全的,可以接受null作为键或者是值,而HashTable使用了Synchronous关键字,因此是线程安全的,因此在多线程环境先使用时,由于同步锁的存在,而且是对整个哈希表上锁,所以对HashTable的访问以及修改效率会比较低。
3、LinkedHashMap与TreeMap
TreeMap取出来的是排序后的键值对。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。LinkedHashMap 是HashMap的一个子类,如果需要输出的顺序和输入的相同,那么用LinkedHashMap可以实现.
4、ConcurrentHashMap
HashTable容器在竞争激烈的并发环境下表现出效率低下,究其原因是因为所有访问HashTable的线程都必须竞争同一把锁。如果容器里有多把锁,每一把锁用于锁住容器中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是ConcurrentHashMap所使用的锁分段技术,首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。在JDK1.8中,这种逐段加锁的方法也被摒弃了,转而采用了volatile和CAS算法,Synchronous关键字使用的是互斥锁,存在线程阻塞和上下文切换,而CAS算法采用的是轮询机制,因此后一种方法具有更高的效率。
关于以上五种种数据结构,以后对照JDK源码再详细分析,这里只做简单记录。
相关文章推荐
- 双列集合Map简介
- java 遍历map 方法 集合 五种的方法
- 关于List、Set、Map集合的简介(二)
- java 遍历map 方法 集合 五种的方法
- java 遍历map 方法 集合 五种的方法
- java 遍历map 方法 集合 五种的方法
- Map(接口简介、HashMap集合、TreeMap集合、Properties、泛型、Collections工具类、Arrays工具类)
- 集合(一):Map,HashMap,Hashtable简介
- map集合遍历的五种方法
- Map集合遍历的五种方式
- java 遍历map 方法 集合 五种的方法
- java 遍历map 方法 集合 五种的方法
- 【慕课笔记】第五章 JAVA中的集合框架(中) 第1节 Map&HashMap简介
- 【 Java Map】 集合类简介
- Map集合
- jquery $.each()遍历array,map等集合
- struts2标签 遍历map集合
- 2017-5-6关于Map集合的遍历一些记录
- java://Comparator、Comparable的用法(按照要求将map集合的键值对进行顺序输出)
- JAVA集合(List,Map.Set)相关操作