1、选择合适的Map集合保存5位学员的学号和姓名,然后按学号的自然顺序的倒序将这些键值对一一打印出来(要求使用两种遍历方式)(5分钟)
时间: 2024-12-21 08:25:05 浏览: 44
首先,你可以选择使用`TreeMap`或者`LinkedHashMap`作为Map集合,因为它们可以保证元素按照插入顺序或访问顺序排序。这里我们使用`TreeMap`,因为它默认就是按照key的自然顺序排列的,并且支持快速查找。
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 创建一个TreeMap,存储学员信息并保持学号升序
Map<Integer, String> studentMap = new TreeMap<Integer, String>();
// 添加学员信息 (学号1到5)
studentMap.put(5, "学员5");
studentMap.put(4, "学员4");
studentMap.put(3, "学员3");
studentMap.put(2, "学员2");
studentMap.put(1, "学员1");
// 遍历并打印按学号倒序的键值对 - 使用迭代器
Iterator<Map.Entry<Integer, String>> iterator = studentMap.descendingMap().entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Integer, String> entry = iterator.next();
System.out.println("学号: " + entry.getKey() + ", 姓名: " + entry.getValue());
}
// 使用增强for循环遍历
for (Map.Entry<Integer, String> entry : studentMap.descendingMap().entrySet()) {
System.out.println("学号: " + entry.getKey() + ", 姓名: " + entry.getValue());
}
}
}
```
在这个示例中,我们先创建了一个`TreeMap`,然后添加了五个学员的信息。接着,通过`.descendingMap()`方法将Map转换成按照学号降序的映射,再分别使用迭代器和增强for循环遍历并打印出学号和姓名。
阅读全文
相关推荐


















