码迷,mamicode.com
首页 > 其他好文 > 详细

HashTable HashMap TreeMap LinkedHashMap 区别

时间:2015-04-16 21:26:00      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

参考:http://blog.csdn.net/xiaodifa995455120/article/details/7277441

http://www.apkbus.com/forum.php?mod=viewthread&tid=52426

Hashmap 是一个 最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。
HashMap最多只允许一条记录的键为Null;允许多条记录的值为Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力.用synchronized修饰操作HashMap的语句块或方法

如:

 Map systemUsers = Collections.synchronizedMap(new HashMap());

 

HashTable 它不允许记录的键或者值为空;它支持线程的同步,速度比较慢。

 

TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的,它不允许记录的键或者值为空。运用:http://my.oschina.net/liyuanjinglyj/blog/126539   key值 实现Comparable 后  加入后自动排序 ,iterater 读取时 有顺序。

 

LinkedHashMap LinkedHashMap,键和值可以为null,可以使插入的顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的.在遍历的时候会比HashMap慢。

 

HashTable HashMap TreeMap LinkedHashMap 区别

标签:

原文地址:http://www.cnblogs.com/wjw334/p/4433088.html

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