Menu
Coddy logo textTech

値の取得

CoddyのJavaジャーニー「ロジックとフロー」セクションの一部 — レッスン 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の年齢: 30

Integer charlieAge = ages.get("Charlie");
// Charlieの年齢: null

この例では、キー "Alice" を使用して Alice の年齢を取得します。"Charlie" が HashMap のキーではないため、charlieAgenull です。

challenge icon

チャレンジ

簡単

getCapital という名前のメソッドを作成し、2つの引数を受け取ります:

  1. キー が国名(文字列)で、値が首都の名前(文字列)である capitals という名前の HashMap
  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();

        // HashMapのStringを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腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン