Java에서 해시 테이블과 해시 맵의 차이점

  1. Hashtable vs HashMap
  2. Java로Hashtable생성
  3. Java로HashMap생성
  4. Java의HashMap에 null 저장
  5. Java의Hashtable에 null 저장
Java에서 해시 테이블과 해시 맵의 차이점

이 튜토리얼에서는 Java에서HashtableHashMap의 차이점을 소개합니다. 또한 주제를 이해하기위한 몇 가지 예제 코드를 나열합니다.

Hashtable은 키-값 쌍에 데이터를 저장하는 데 사용되는 Java 컬렉션 프레임 워크의 클래스입니다. Java의 레거시 클래스이며 요소를 저장하는 해시 개념에서 작동합니다. 최신 Java 버전에서는 Hashtable이 권장되지 않습니다. 우리는 Hashtable보다 더 진보 된 HashMap을 사용해야합니다. Java에서 Hashtable과 HashMap의 주요 차이점을 요약 한 아래 표를 참조하십시오.

Hashtable vs HashMap

Hashtable HashMap
동기화 됨 동기화되지 않음
Null은 허용되지 않습니다. null 허용
레거시 클래스 유산 아님
느리다 빠르다

위의 비교표에서 Hashtable과 HashMap의 주요 차이점을 명확하게 확인할 수 있습니다. 이제 몇 가지 예를 살펴 보겠습니다.

Hashtable이 내부적으로 동기화되므로HashtableHashMap보다 약간 느려집니다.

Java로Hashtable생성

이 예에서는 Hashtable을 생성합니다. Hashtable을 생성하는 가장 간단한 방법이며 코드에서 Hashtable을 가져 오기만하면됩니다. 이 클래스는java.util패키지에 있습니다. 아래 예를 참조하십시오.

import java.util.Hashtable;

public class SimpleTesting {
  public static void main(String[] args) {
    Hashtable<Integer, String> hashTable = new Hashtable<>();
    hashTable.put(1, "One");
    hashTable.put(2, "Two");
    hashTable.put(3, "Three");
    System.out.println(hashTable);
  }
}

출력:

{3=Three, 2=Two, 1=One}

Java로HashMap생성

이 예에서는 Java로HashMap을 생성합니다. HashMap을 생성하는 가장 간단한 방법이며 코드에서 HashMap을 가져 오기만하면됩니다. 이 클래스는java.util패키지에 있습니다. 아래 예를 참조하십시오.

import java.util.HashMap;

public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<Integer, String> hashTable = new HashMap<>();
    hashTable.put(1, "One");
    hashTable.put(2, "Two");
    hashTable.put(3, "Three");
    System.out.println(hashTable);
  }
}

출력:

{3=Three, 2=Two, 1=One}

Java의HashMap에 null 저장

HashMap을 사용하면 null을 저장할 수 있습니다. 즉,HashMap에 null 키와 여러 null 값을 저장할 수 있습니다. 이 클래스는 컬렉션에 null이있을 때 유용합니다. 아래 예를 참조하십시오.

import java.util.HashMap;

public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<Integer, String> hashTable = new HashMap<>();
    hashTable.put(1, "One");
    hashTable.put(2, "Two");
    hashTable.put(3, "Three");
    hashTable.put(null, "Four");
    hashTable.put(null, null);
    System.out.println(hashTable);
  }
}

출력:

{null=null, 1=One, 2=Two, 3=Three}

Java의Hashtable에 null 저장

Hashtable은 null 저장을 허용하지 않습니다. 이는Hashtable에 null을 저장할 수 없음을 의미합니다. 이 클래스는 컬렉션에 null이있는 경우 유용하지 않습니다. 아래 예를 참조하십시오.

널값이 저장되면NullPointerException예외가 발생합니다.

import java.util.Hashtable;

public class SimpleTesting {
  public static void main(String[] args) {
    Hashtable<Integer, String> hashTable = new Hashtable<>();
    hashTable.put(1, "One");
    hashTable.put(2, "Two");
    hashTable.put(3, "Three");
    hashTable.put(null, "Four");
    hashTable.put(null, null);
    System.out.println(hashTable);
  }
}

출력:

Exception in thread "main" java.lang.NullPointerException
튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다

관련 문장 - Java Hashtable

관련 문장 - Java HashMap