Menu
CoddyTech

访问值

本课属于 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 中的键,charlieAge 的值为 null。

challenge icon

挑战

简单

创建一个名为 getCapital 的方法,它接受两个参数:

  1. 一个名为 capitals 的 HashMap,其中键是国家名称(字符串),值是首都名称(字符串)。
  2. 一个字符串 country,表示国家名称。

该方法应通过访问 capitals HashMap,返回指定国家的首都。如果在 HashMap 中找不到该国家,则返回 "Not found"。

亲手试试

// 将 hashmap 字符串转换为 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) {
        // 在下方编写你的代码
    }

    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自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Java 在线编译器