Продолжаем изучение HashMap. Теперь, когда мы умеем создавать карту, пора научиться с ней работать. Основные методы, которые используются чаще всего: put(), get() и containsKey().
put(K, V)— добавляет пару или обновляет значение, если ключ уже есть.get(K)— возвращает значение по ключу илиnull, если ключа нет.containsKey(K)— проверяет наличие ключа (возвращает true/false).
Этот тренажер поможет закрепить синтаксис и логику работы методов. Мы разберем, как работает код при обновлении данных и обработке отсутствующих ключей.
- Модуль 1: Первая программа и структура
- Модуль 2: Переменные и типы данных
- Объявление и инициализация переменных.
- Примитивы: целые числа (int, long, byte, short).
- Примитивы: дробные числа (double, float).
- Примитивы: логический тип (boolean).
- Примитивы: символьный тип (char).
- String — основы работы со строками.
- Приведение типов (Casting): расширение и сужение.
- Область видимости переменных (Scope).
- Модуль 3: Операторы
- Модуль 4: Управляющие конструкции
- Модуль 5: Массивы и Строки (Advanced)
- Создание и заполнение массива.
- Доступ к элементам по индексу.
- Свойство length и перебор массива.
- Цикл for-each для массивов.
- Многомерные массивы.
- Методы String: length, charAt, isEmpty.
- Манипуляции: substring, concat, replace.
- Сравнение строк: equals vs ==.
- Разделение строк (split) и trim.
- StringBuilder (изменяемые строки).
- Модуль 6: Методы
- Модуль 7: Классы и Объекты (ООП Часть 1)
- Модуль 8: Капсуляция и Модификаторы
- Модуль 9: Наследование и Полиморфизм (ООП Часть 2)
- Модуль 10: Обработка исключений
- Модуль 11: Коллекции и Дженерики
- Модуль 12: Функциональный стиль (Java 8+)
- Модуль 13: Полезные стандарты
1. Добавление элементов
В этом задании вам предстоит дополнить код, который создаёт и заполняет телефонную книгу, используя HashMap. В коде пропущены вызовы метода put для добавления записей, а также методы get и containsKey для получения данных и проверки наличия ключей. Вставьте в пропуски правильные имена методов, чтобы код компилировался и работал корректно, выводя информацию о контактах.
import java.util.HashMap;
public class PhoneBook {
public static void main(String[] args) {
HashMap<String, String> phoneBook = new HashMap<>();
// Добавление контакта "Анна" с номером "123-456-789"
phoneBook.input1S("Анна", "123-456-789");
// Добавление контакта "Борис" с номером "987-654-321"
phoneBook.input2S("Борис", "987-654-321");
// Добавление контакта "Виктор" с номером "555-123-456"
phoneBook.input3S("Виктор", "555-123-456");
// Получение номера Анны и вывод на экран
String annasNumber = phoneBook.input4S("Анна");
System.out.println("Номер Анны: " + annasNumber);
// Проверка наличия контакта "Борис" в телефонной книге
if (phoneBook.input5S("Борис")) {
System.out.println("Борис есть в телефонной книге.");
}
}
}2. Логика проверки
Перед вами строки java-кода, демонстрирующие работу с HashMap. Они перемешаны. Расставьте их в правильном порядке, чтобы получилась корректная программа, которая создаёт карту, добавляет в неё элемент, проверяет наличие ключа с помощью метода containsKey и, если ключ найден, выводит соответствующее значение с помощью метода get. Обратите внимание на логическую последовательность: карта должна быть создана до добавления элемента, а проверка и вывод значения выполняются после добавления.
Integer value = map.get("apple");HashMap<String, Integer> map = new HashMap<>();map.put("apple", 5);}if (map.containsKey("apple")) { System.out.println(value);3. Перезапись значения
В этом задании вы должны проанализировать фрагмент кода на Java, который демонстрирует работу с HashMap. В коде создается объект HashMap, затем дважды вызывается метод put с одинаковым ключом, но разными значениями. После этого вызывается метод get для извлечения значения по этому ключу. Ваша задача — определить, какое именно значение будет выведено на экран, и ввести его в поле ответа. Введите одно число без дополнительных символов.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("key", 5);
map.put("key", 10);
System.out.println(map.get("key"));
}
}4. Ошибка метода
В данном фрагменте кода на Java используется HashMap, но в одной из строк допущена ошибка в названии метода. Исправьте неверный вызов метода, чтобы программа могла корректно получить значение по ключу и вывести его на экран.
import java.util.HashMap; public class Main { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); map.put("apple", 5); System.out.println(map.take("apple")); }}5. Операции чтения и записи
В приведённом фрагменте кода Java выделены вызовы методов HashMap. Разметьте каждый выделенный вызов, указав, относится ли он к операции изменения данных (put) или к операции чтения данных (get, containsKey). Это поможет закрепить понимание назначения основных методов работы с ассоциативными массивами.
Map scores = new HashMap<>();
scores.{{put~|~t1}}("Alice", 95);
int aliceScore = scores.{{get~|~t2}}("Alice");
boolean hasBob = scores.{{containsKey~|~t3}}("Bob");
scores.{{put~|~t4}}("Bob", 87);
int bobScore = scores.{{get~|~t5}}("Bob"); 6. Получение несуществующего
Проанализируйте приведённый фрагмент кода на Java. В нём создаётся объект HashMap, в который добавляются пары ключ-значение, а затем выполняется попытка получить значение по ключу, который ранее не был добавлен в коллекцию. Выберите, что будет выведено в консоль в результате выполнения программы.
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Integer> scores = new HashMap<>();
scores.put("Alice", 95);
scores.put("Bob", 87);
scores.put("Charlie", 92);
Integer result = scores.get("David");
System.out.println(result);
}
}7. Условие наличия
В данном фрагменте кода на Java используется HashMap для хранения пар ключ-значение. В условии оператора if пропущен метод, который проверяет наличие ключа в карте. Вам необходимо выбрать правильный метод из предложенного списка, чтобы код корректно проверял наличие ключа и выводил соответствующее значение. Обратите внимание на синтаксис вызова методов HashMap и их назначение.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
String key = "apple";
if (map.input1S(key)) {
System.out.println(map.get(key));
}
}
}