以下是Java中HashTable和HashMap类之间的显着差异。
| 哈希表 | 哈希映射 | |
|---|---|---|
| 已同步 | HashTable已同步。 | HashMap不同步。 |
| 线程安全 | HashTable是线程安全的。 | HashMap不是线程安全的。 |
| 空对象 | HashTable不允许使用空键或空值。 | HashMap允许一个空键和多个空值。 |
| 性能 | HashTable更快。 | HashMap比HashTable慢。 |
| 从Java版本开始 | 1.2 | 1.5 |
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
public class Tester {
public static void main(String args[]) {
Map<String, String> map = new HashMap<String, String>();
map.put("1", "One");
map.put("2", "Two");
map.put("3", "Three");
map.put("5", "Five");
map.put("6", "Six");
System.out.println("HashMap: " + map);
Map<String, String> map1 = new Hashtable<String, String>();
map1.put("1", "One");
map1.put("2", "Two");
map1.put("3", "Three");
map1.put("5", "Five");
map1.put("6", "Six");
System.out.println("HashTable: " + map1);
}
}输出结果
HashMap: {1 = One, 2 = Two, 3 = Three, 5 = Five, 6 = Six}
HashTable: {6 = Six, 5 = Five, 3 = Three, 2 = Two, 1 = One}