模块 6 · 第 1 课(共 2)课程中的11/14~15 min
模块课程(1/2)
设置和地图
除了 ArrayList 类(表示元素的有序列表)之外,Java 集合框架还提供了另外两个基本接口:Set(用于唯一元素)和 Map(用于键值关联)。
套装:独特元素的集合
Set 是一个不能包含重复元素的集合。它最常见的实现是 HashSet,内部基于哈希表,保证插入、删除和存在验证操作的出色性能。
Java
import java.util.HashSet;
import java.util.Set;
Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present
System.out.println(uniqueNames.size()); // Prints 2地图:键值关联
Map 将唯一的键映射到值。它不能包含重复的键:每个键最多与一个值关联。它的标准实现是HashMap。
Java
import java.util.HashMap;
import java.util.Map;
Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25
// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns true迭代 Map
要迭代键值对,我们可以在映射提供的条目集 (entrySet()) 上使用 for-each 循环。
Java
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}自己尝试一下
锻炼#java.m6.l1.e1
尝试:0加载中...
通过声明名为 items 的字符串 HashSet 来完成代码。再次添加元素“apple”、“banana”和“apple”,然后使用 System.out.println 打印集合的大小。
正在加载编辑器...
显示提示
请记住,“Set”中不允许有重复项,并且“items.size()”将返回插入的唯一元素的实际数量。
3 次尝试后可用的解决方案
锻炼#java.m6.l1.e2
尝试:0加载中...
通过使用 String 键和 Integer 值声明一个名为ages 的 HashMap 来完成代码。将键“Alice”与 25 关联,将键“Bob”与 30 关联,然后检索并打印 Bob 的年龄。
正在加载编辑器...
显示提示
使用“put”方法插入对,使用“get”方法根据键检索值。
3 次尝试后可用的解决方案
锻炼#java.m6.l1.e3
尝试:0加载中...
通过检查国家地图是否包含键“FR”来完成代码并打印布尔结果。
正在加载编辑器...
显示提示
使用“countries”对象上的“containsKey”方法来检查是否存在所需的密钥。
3 次尝试后可用的解决方案