Java,定义一个类TestMap,要求如下(1)利用Map接口和泛型新建一个字典HashMap对象map,然后插入如下键值对1 China2 India3 USA(2)打印输出key为1的值;(3)查阅api文档和互联网资料,分别用3种不同的方法对此map对象进行遍历打印输出;
时间: 2024-02-04 19:01:49 浏览: 92
好的,这是一个Java类的代码示例,满足你的要求:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class TestMap {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "China");
map.put(2, "India");
map.put(3, "USA");
System.out.println("key为1的值为:" + map.get(1));
System.out.println("第一种遍历方式:");
Set<Integer> keySet = map.keySet();
for (Integer key : keySet) {
System.out.println("key为" + key + ",value为" + map.get(key));
}
System.out.println("第二种遍历方式:");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("key为" + entry.getKey() + ",value为" + entry.getValue());
}
System.out.println("第三种遍历方式:");
for (String value : map.values()) {
System.out.println("value为" + value);
}
}
}
```
解释一下这段代码:
1. 首先定义了一个 `TestMap` 类,并在该类中定义了一个 `main` 方法,用于测试程序的正确性。
2. 在 `main` 方法中,我们使用 `HashMap` 类型的对象 `map` 来存储键值对,其中键的类型是整数,值的类型是字符串。
3. 然后,我们依次向 `map` 中添加了三个键值对,分别是 1-China、2-India、3-USA。
4. 接着,我们使用 `map.get(1)` 方法来获取键为 1 的值,并打印输出。
5. 然后,我们使用三种不同的方式对 `map` 进行遍历,并打印输出每一个键值对。其中:
- 第一种方式是先通过 `map.keySet()` 方法获取所有键的集合,然后通过 `foreach` 循环遍历键集合,并使用 `map.get(key)` 方法获取对应的值。
- 第二种方式是直接使用 `map.entrySet()` 方法获取所有键值对的集合,然后通过 `foreach` 循环遍历键值对集合,并使用 `entry.getKey()` 和 `entry.getValue()` 方法获取对应的键和值。
- 第三种方式是直接使用 `map.values()` 方法获取所有值的集合,然后通过 `foreach` 循环遍历值集合,并打印输出每一个值。
这样,就完成了你的要求。希望能对你有所帮助!
阅读全文