选择合适的Map集合保存5位学员的学号和姓名,然后按照学号的自然顺序的倒叙将这些键值对一一打印出来。要求如下: 1)创建TreeMap集合。 2)使用put()方法将学号("1""2""3""4""5")和姓名("Lucy""John""Smith""Aimme""Tom")存储到Map中,存的时候可以打乱顺序观察排序后的效果。可重复插入相同的value,不同的key观察结果。 3)使用两种方法遍历集合
时间: 2023-06-29 11:13:26 浏览: 202
利用Map集合储存并打印数据库信息
5星 · 资源好评率100%
好的,我的回答如下:
```java
import java.util.Map;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
// 创建TreeMap集合
Map<String, String> map = new TreeMap<>((o1, o2) -> o2.compareTo(o1));
// 使用put()方法将学号和姓名存储到Map中
map.put("1", "Lucy");
map.put("3", "Smith");
map.put("2", "John");
map.put("5", "Tom");
map.put("4", "Aimme");
// 遍历集合方法一
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
// 遍历集合方法二
map.forEach((key, value) -> System.out.println(key + " " + value));
}
}
```
输出结果为:
```
5 Tom
4 Aimme
3 Smith
2 John
1 Lucy
```
解释一下代码:
1. 首先创建了一个 `TreeMap` 对象,同时我们需要自定义 `Comparator` 对象来实现按照学号的自然顺序的倒叙排序,所以我们在创建 `TreeMap` 对象时传入了一个 `Comparator` 对象。这里用的是 lambda 表达式,也可以使用匿名内部类来实现。
2. 使用 `put()` 方法将学号和姓名存储到 `Map` 中。这里我们按照题目要求打乱顺序存储,同时可以重复插入相同的值。
3. 遍历集合有两种方法,第一种是使用 `entrySet()` 方法获取 `Map` 对象的 `Set` 视图,然后使用增强型 `for` 循环遍历。第二种是使用 `forEach()` 方法来遍历,这个方法是 `Map` 接口中的默认方法,可以直接使用。
最后输出的结果是按照学号的自然顺序的倒叙排列的。
阅读全文