Java 中 HashTable 和 HashMap 之间的区别

java programming java8object oriented programming

以下是 Java 中 HashTable 和 HashMap 类之间的显著区别。

 HashTableHashMap
同步HashTable 已同步。HashMap 未同步。
线程安全HashTable 是线程安全的。HashMap 不是线程安全的。
空对象HashTable 不允许空键或空值。HashMap允许一个空键和多个空值。
性能HashTable 更快。HashMap 比 HashTable 慢。
自 Java 版本1.21.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}

相关文章