Sobes.tech
Junior
131
questionbank

В чем заключается отличие между HashMap и HashSet?

Ответ от нейросети

sobes.tech AI

HashMap: хранит пары ключ-значение. Основан на хэш-таблице для быстрого доступа. Ключи уникальны, значения могут повторяться.

HashSet: хранит только уникальные элементы. По сути, реализован поверх HashMap, где элементы хранятся как ключи, а в качестве значения используется фиктивное значение (например, new Object()). Не гарантирует порядок элементов.

Основные отличия:

Характеристика HashMap HashSet
Хранение Пары ключ-значение Уникальные элементы
Реализация Хэш-таблица Основан на HashMap
Повторения Ключи уникальны, значения - нет Элементы уникальны
Интерфейс Map Set
// Пример использования HashMap
import java.util.HashMap;

public class HashMapExample {
    public static void main(String[] args) {
        HashMap<String, Integer> ages = new HashMap<>();
        ages.put("Alice", 30);
        ages.put("Bob", 25);
        ages.put("Alice", 31); // Перезапишет значение для "Alice"

        System.out.println(ages.get("Bob")); // 25
    }
}
// Пример использования HashSet
import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        HashSet<String> names = new HashSet<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Alice"); // Не добавится, так как "Alice" уже есть

        System.out.println(names.contains("Bob")); // true
    }
}