访问值
本课属于 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。
挑战
简单创建一个名为 getCapital 的方法,它接受两个参数:
- 一个名为
capitals的HashMap,其中键是国家名称(字符串),值是首都名称(字符串)。 - 一个字符串
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);
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Java 在线编译器