本文主要是介绍HashTable,HashMap,TreeMap有什么不同,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
HashMap:一种存储键/值关联的数据结构。适用于在Map中插入、删除和定位元素。
TreeMap:一种键/值有序排列的映射表。整体顺序是由键的顺序关系决定的,通过Comparable或Comparator来决定。
HashTable:与HashMap类的作用一样,不过HashTable是同步的,现在是集合框架中的遗留类。如果对同步性没有任何要求,就适用HashMap,如果需要并发访问,就使用ConcurrentHashMap。
ConcurrentHashMap和HashTable的区别
HashTable和ConcurrentHashMap都可以用于多线程的环境,但是当HashTable的大小增加到一定的时候,性能会急剧下降,因为迭代时需要被锁定很长的时间。而ConcurrentHashMap引入了分割(segmentation),不论它变得多么大,仅仅需要锁定map的某个部分,而其他线程不需要等到迭代完成才能访问Map。简而言之,在迭代的过程中,ConcurrentHashMap仅仅锁定map的某个部分,而HashTable会锁定整个map。
这篇关于HashTable,HashMap,TreeMap有什么不同的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!