Уроки модуля (1/2)
Установить и Карта
Помимо класса ArrayList (который представляет упорядоченный список элементов), Java Collections Framework предлагает два других фундаментальных интерфейса: Set (для уникальных элементов) и Map (для ассоциаций «ключ-значение»).
Набор: Коллекции уникальных элементов
Set — это коллекция, которая не может содержать повторяющиеся элементы. Его наиболее распространенной реализацией является HashSet, основанная на внутренней хэш-таблице, которая гарантирует отличную производительность операций вставки, удаления и проверки присутствия.
import java.util.HashSet;
import java.util.Set;
Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present
System.out.println(uniqueNames.size()); // Prints 2Карта: ассоциации «ключ-значение»
Map сопоставляет уникальные ключи с значениями. Он не может содержать повторяющиеся ключи: каждый ключ связан не более чем с одним значением. Его стандартная реализация — HashMap.
import java.util.HashMap;
import java.util.Map;
Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25
// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns trueПеребор карты
Для перебора пар ключ-значение мы можем использовать цикл for-each для набора записей (entrySet()), предоставленного картой.
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}Попробуйте сами
Завершите код, объявив HashSet строк с именами items. Добавьте элементы «яблоко», «банан» и «яблоко» еще раз, затем напечатайте размер набора с помощью System.out.println.
Показать подсказку
Помните, что дубликаты в Set не допускаются, а items.size() вернет фактическое количество вставленных уникальных элементов.
Решение доступно после 3 попыток
Завершите код, объявив HashMap с именем age со строковыми ключами и целочисленными значениями. Свяжите ключ «Алиса» с числом 25, а ключ «Боб» с числом 30, затем найдите и выведите возраст Боба.
Показать подсказку
Используйте метод put для вставки пар и метод get для получения значений на основе ключей.
Решение доступно после 3 попыток
Завершите код, проверив, содержит ли карта стран ключ «FR», и выведите логический результат.
Показать подсказку
Используйте методcontainsKey объектаcountries, чтобы проверить наличие необходимого ключа.
Решение доступно после 3 попыток