码迷,mamicode.com
首页 > 编程语言 > 详细

java-tip-各种Map的区别及如何选择

时间:2016-02-29 00:37:18      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

这里主要讨论这三种:HashMap、LinkedHashMap、TreeMap
1. HashMap是常规的哈希表,查询以及插入的性能最好,如果没有特殊要求,应该使用这个

 

2. LinkedHashMap:这个类比较有意思,
   它可以指定遍历的顺序:
   1) 元素添加的顺序
   2) 按最近最少使用的顺序

 

这个类的实现上继承了HashMap,只是比HashMap多维护了一个双链表,因此,
它的查询及插入性能稍差于HashMap。
但是它的遍历性能要好于HashMap。

 

如果想要按照元素添加顺序遍历,那么使用LinkedHashMap

 

3. TreeMap,这个类的内部实现类似于C++的std::map
TreeMap将元素存储在一个红黑树中,存储在它里面的Key必须实现Comparable接口。
由于使用了红黑树的原因,存储在它里面的key是从小到大排好序的。
它的各项性能指标都要比HashMap差。

 

如果想要Map中的元素是有序的,那么使用TreeMap

java-tip-各种Map的区别及如何选择

标签:

原文地址:http://www.cnblogs.com/hdtianfu/p/5225965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!