Menu
Coddy logo textTech

Dostęp do wartości

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 12 z 59.

W HashMap każdy klucz jest powiązany z wartością. Aby uzyskać dostęp do wartości, użyj metody get() i podaj klucz.

Następnie HashMap zwraca wartość powiązaną z tym kluczem. Jeśli klucz nie istnieje w HashMap, metoda get() zwraca null.

Oto podstawowa składnia:

ValueType value = mapName.get(key);
  • mapName: Nazwa obiektu HashMap.
  • key: Klucz, którego powiązaną wartość chcesz pobrać.
  • ValueType: Typ danych wartości.

Na przykład najpierw zdefiniujmy HashMap:

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);

A teraz pobierzmy te wartości:

Integer aliceAge = ages.get("Alice");
// Wiek Alice: 30

Integer charlieAge = ages.get("Charlie");
// Wiek Charlie: null

W tym przykładzie pobieramy wiek Alice za pomocą klucza "Alice". Ponieważ "Charlie" nie jest kluczem w HashMap, charlieAge ma wartość null.

challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie getCapital, która przyjmuje dwa argumenty:

  1. Obiekt HashMap o nazwie capitals, w którym kluczami są nazwy krajów (ciągi znaków), a wartościami — nazwy stolic (ciągi znaków).
  2. Ciąg znaków country reprezentujący nazwę kraju.

Metoda powinna zwrócić stolicę podanego kraju, pobierając ją z obiektu HashMap capitals. Jeśli kraju nie ma w obiekcie HashMap, zwróć "Not found".

Spróbuj swoich sił

// --- Moduły do konwersji ciągu znaków reprezentującego hashmapę na hashmapę ---
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) {
        // Wpisz swój kod poniżej
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String hashMapString = scanner.nextLine();
        String country = scanner.nextLine();

        // Konwertuj String reprezentujący HashMap na 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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online