HashTable 和 HashMap 在 Java 中的区别


以下是 Java 中 HashTable 和 HashMap 类之间的主要区别。

 HashTableHashMap
同步HashTable 同步。HashMap 未同步。
线程安全HashTable 是线程安全的。HashMap 不是线程安全的。
Null 对象HashTable 不允许 null 键或 null 值。HashMap 允许一个 null 键和多个 null 值。
性能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}

更新于: 21-Jun-2020

3K+ 人次浏览

开启您的 事业

完成课程并获得认证

立即开始
广告