Menu
Coddy logo textTech

Доступ к значениям

Часть раздела Логика и управление потоком путешествия по 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.

challenge icon

Задание

Легко

Создайте метод с именем getCapital, который принимает два аргумента:

  1. Объект HashMap с именем capitals, где ключи — это названия стран (строки), а значения — названия столиц (строки).
  2. Строку 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);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком