日期:2014-05-20  浏览次数:20583 次

vector hashtable过时?
看thinking in java的时候,发现vector 以及hashtable被arraylist ,hashmap替代,而前者又是线程同步的,不知道为什么?是效率差了的原因?

------解决方案--------------------
Map

------解决方案--------------------
--Hashtable:底层是哈希表数据结构,不可以存入null键null值。该集合是线程同步的。jdk1.0.效率低。

------解决方案--------------------
--HashMap:底层是哈希表数据结构,允许使用 null 值和 null 键,该集合是不同步的。将hashtable替代,jdk1.2.效率高。

------解决方案--------------------
--TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序。

------解决方案--------------------
线程安全,当然是要付出代价的,效率当然会下降了。也不能说是过时,如果要考虑线程安全,就用他们了呗!
------解决方案--------------------
遗留容器类,还有数组。

多线程时使用java.util.concurrent包的类。