Модульні уроки (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. Знову додайте елементи «apple», «banana» і «apple», а потім надрукуйте розмір набору за допомогою System.out.println.
Показати підказку
Пам’ятайте, що дублікати не допускаються в `Set`, і `items.size()` поверне фактичну кількість вставлених унікальних елементів.
Рішення доступне після 3 спроб
Завершіть код, оголосивши HashMap з назвою ages із ключами String і значеннями Integer. Пов’яжіть ключ «Аліса» з 25 і ключ «Боб» з 30, потім знайдіть і надрукуйте вік Боба.
Показати підказку
Використовуйте метод put, щоб вставити пари, і метод get, щоб отримати значення на основі ключів.
Рішення доступне після 3 спроб
Заповніть код, перевіривши, чи містить карта країн ключ «FR», і надрукуйте логічний результат.
Показати підказку
Використовуйте метод `containsKey` для об’єкта `countries`, щоб перевірити наявність необхідного ключа.
Рішення доступне після 3 спроб