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
}
}