HashTable HashMap TreeMap LinkedHashMap 区别

参考: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慢。

 

posted on 2015-04-16 19:49  wjw334  阅读(128)  评论(0编辑  收藏  举报

导航