第 17 课2026.09.22
区分课程键不存在与键存在但备注值为 null。
第 17 课:检查 record 键是否存在
- 日期:2026-09-22
- 课程序号:第 17 课
- 知识点:
Map.containsKey
用途或适用场景
区分课程键不存在与键存在但备注值为 null。
核心概念
containsKey 按键的相等语义检查映射是否存在;record 的组件值相同即可匹配。它只查询,不修改 Map。
最小代码或操作示例
java
public class Main {
record Lesson(String title, int minutes) {}
public static void main(String[] args) {
var notes = new java.util.HashMap<Lesson, String>();
notes.put(new Lesson("Java", 5), "已读");
System.out.println(notes.containsKey(new Lesson("Java", 5))); // true
}
}3~5 分钟练习
改用 new Lesson("Java", 10) 查询是否存在。
参考答案
输出 false;组件值改变后是另一个键。
与上一课的联系
沿用第 16 课的 Lesson record、notes 与“已读”备注;本课只新增 containsKey 查询;完成后下一课可移除旧键并放入新键。
时效校验
时效校验:2026-09-24(Java SE 27 Map API 与 dev.java Records;containsKey、record 值相等未见废弃标记;record 正式版最低 Java 16)。