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慢。