Доступ к значениям
Часть раздела Логика и управление потоком путешествия по Java на Coddy — урок 12 из 59.
В HashMap каждый ключ связан со значением. Чтобы получить значение, используйте метод get() и укажите ключ.
Затем HashMap возвращает значение, связанное с этим ключом. Если ключ не существует в HashMap, метод get() возвращает null.
Вот базовый синтаксис:
ValueType value = mapName.get(key);mapName: ИмяHashMap.key: Ключ, значение которого вы хотите получить.ValueType: Тип данных значения.
Например, давайте сначала определим HashMap:
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);А теперь, чтобы получить эти значения:
Integer aliceAge = ages.get("Alice");
// Alice's age: 30
Integer charlieAge = ages.get("Charlie");
// Charlie's age: nullВ этом примере мы получаем возраст Alice с помощью ключа "Alice". Поскольку "Charlie" не является ключом в HashMap, charlieAge равен null.
Задание
ЛегкоСоздайте метод с именем getCapital, который принимает два аргумента:
- Объект
HashMapс именемcapitals, где ключи — это названия стран (строки), а значения — названия столиц (строки). - Строку
country, представляющую название страны.
Метод должен возвращать столицу указанной страны, обращаясь к capitals HashMap. Если страна не найдена в HashMap, вернуть "Not found".
Шпаргалка
Чтобы получить значение из HashMap, используйте метод get() с ключом. Если ключ не существует, он возвращает null.
ValueType value = mapName.get(key);Пример:
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
Integer aliceAge = ages.get("Alice"); // 30
Integer charlieAge = ages.get("Charlie"); // nullПопробуйте сами
// --- Модули для преобразования строки хэш-мапы в хэш-мап ---
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
// -----------------------------
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static String getCapital(HashMap<String, String> capitals, String country) {
// Напишите ваш код ниже
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
String country = scanner.nextLine();
// Convert String of HashMap to HashMap
Type mapType = new TypeToken<HashMap<String, String>>(){}.getType();
HashMap<String, String> countryCapitals = new Gson().fromJson(hashMapString, mapType);
String result = getCapital(countryCapitals, country);
System.out.println(result);
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиПовторение - 2D-массивыСложение и вычитание матрицРваные массивы3D-массивы и вышеРаспространённые паттерны 2D-массивовПовторение - всё о массивах2HashMap Часть 1
Что такое HashMap?Объявление HashMapДоступ к значениямПроверка существования ключаИзменение словарейИтоги - HashMap3HashMap. Часть 2
Методы HashMapИтерация с keySet()Итерация с entrySet()Вложенный HashMapПовторение - Управление складомПовторение - Операции HashMap6Продвинутое управление потоком
Операторы метокВыражение switchСопоставление шаблоновОхранные клаузыИтоги - управление потоком9Проект - Счетчик уникальных слов
Ввод и хранение текстаОбработка слов