Java 中 HashTable 和 HashMap 的区别


以下是 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}

更新于: 2020 年 6 月 21 日

3K+ 次浏览

Kickstart Your Career

通过完成课程获得认证

开始
广告