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 obiektuHashMap.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: nullW tym przykładzie pobieramy wiek Alice za pomocą klucza "Alice". Ponieważ "Charlie" nie jest kluczem w HashMap, charlieAge ma wartość null.
Wyzwanie
ŁatwyUtwórz metodę o nazwie getCapital, która przyjmuje dwa argumenty:
- Obiekt
HashMapo nazwiecapitals, w którym kluczami są nazwy krajów (ciągi znaków), a wartościami — nazwy stolic (ciągi znaków). - Ciąg znaków
countryreprezentują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);
}
}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
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online