HashMap和HashTable功能一样,既然功能一样,肯定有一个效率高,一个效率低。效率高的一般是后出现的,目的就是来替换效率低的。而之所以旧的对象效率低,有时候是因为它是线程同步的,这里的HashTable就是同步的,所以效率低,所以被HashMap替换。而替换后那不就是线程不同步了吗?那不就是不安全了吗?肯定不会造成这种情况,集合 中就会提高其他方法来保证线程安全。
类似的例子还有ArrayList与Vector,它俩功能基本相同。ArrayList替换的线程安全、效率低的Vecotr。
还有StringBuffer与StringBuilder,因为上述原因,StringBuilder替换了StringBuffer。 |