HashTable 和 HashMap 在 Java 中的区别
以下是 Java 中 HashTable 和 HashMap 类之间的主要区别。
HashTable | HashMap | |
---|---|---|
同步 | HashTable 同步。 | HashMap 未同步。 |
线程安全 | HashTable 是线程安全的。 | HashMap 不是线程安全的。 |
Null 对象 | HashTable 不允许 null 键或 null 值。 | HashMap 允许一个 null 键和多个 null 值。 |
性能 | 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}
广告