线程安全:Hashtable 是线程安全的,而 HashMap 是非线程安全的。 推荐使用:在 Hashtable 的类注释可以看到,Hashtable 是保留类不建议使用,推荐在单线程环境下使用 HashMap 替代,如果需要多线程使用则用 ConcurrentHashMap 替代。 22. 如何决定使用 HashMap 还是 TreeMap? 对于在 Map 中插入、删除、定位一个元素这...
(1)线程安全:HashMap是线程不安全的类,多线程下会造成并发冲突,但单线程下运行效率较高;HashTable是线程安全的类,很多方法都是用synchronized修饰,但同时因为加锁导致并发效率低下,单线程环境效率也十分低; (2)插入null:HashMap允许有一个键为null,允许多个值为null;但HashTable不允许键或值为null; (3)容量:Ha...
1、HashMap 是非线程安全的,HashTable 是线程安全的。 2、HashMap 的键和值都允许有 null 值存在,而 HashTable 则不行。 3、因为线程安全的问题,HashMap 效率比 HashTable 的要高。 4、Hashtable 是同步的,而 HashMap 不是。因此,HashMap 更适合于单线程环境,而 Hashtable 适合于多线程环境。一般现在不建...
1,如果是多个线程访问同一个资源,那么就需要上锁,才能保证数据的安全性。 2. 如果每个线程访问的是各自的资源,那么就不需要考虑线程安全的问题,所以这个时候,我们可以放心使用非线程安全的对象,没有冲突 线程安全类: (1) Hashtable (2) StringBuffer (3)Vector Hashtable和hashmap得区别? 线程安全(hashtable线程...
线程是否安全:HashMap 是非线程安全的,HashTable 是线程安全的;HashTable 内部的方法基本都经过synchronized修饰。(如果你要保证线程安全的话就使用 ConcurrentHashMap 吧!); 效率:因为线程安全的问题,HashMap 要比 HashTable 效率高一点。另外,HashTable 基本被淘汰,不要在代码中使用它; ...