Sobes.tech
Junior — Middle

Czy można użyć null jako klucza w HashMap w języku Java?

sobes.tech AI

Odpowiedź od AI

W Javie klasa HashMap pozwala na użycie null jako klucza. W szczególności, HashMap dopuszcza dokładnie jeden klucz z wartością null.

Jest to możliwe, ponieważ podczas obliczania kodu hash dla klucza null stosuje się specjalne przetwarzanie — zamiast wywołania hashCode(), zwraca się 0.

Przykład:

import java.util.HashMap;

public class Example {
    public static void main(String[] args) {
        HashMap<String, String> map = new HashMap<>();
        map.put(null, "wartość dla klucza null");
        System.out.println(map.get(null)); // Wyświetli: wartość dla klucza null
    }
}

Należy jednak pamiętać, że inne implementacje Map, na przykład Hashtable, nie dopuszczają null jako klucza ani wartości.