用Java写,要求如下:有以下的数据: 1班: 100, 200, 200 2班: 233, 322, 3班: 923, 231 请用Map<String, List<Integer>> 保存这些数(建议使用HashMap + ArrayList)之后在控制台上输出Map的数据(1班, 2班, 3班谁先谁后输出都没关系)。提示如下:
时间: 2024-03-18 12:41:36 浏览: 55
班级成绩管理 Java
好的,这是一个Java代码实现的问题,我会尽力回答。以下是代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, List<Integer>> map = new HashMap<>();
List<Integer> list1 = new ArrayList<>(Arrays.asList(100, 200, 200));
List<Integer> list2 = new ArrayList<>(Arrays.asList(233, 322));
List<Integer> list3 = new ArrayList<>(Arrays.asList(923, 231));
map.put("1班", list1);
map.put("2班", list2);
map.put("3班", list3);
for (Map.Entry<String, List<Integer>> entry : map.entrySet()) {
String className = entry.getKey();
List<Integer> scores = entry.getValue();
System.out.print(className + ": ");
for (int score : scores) {
System.out.print(score + " ");
}
System.out.println();
}
}
}
```
这段代码实现了以下功能:
1. 使用Map<String, List<Integer>>保存班级和成绩;
2. 使用HashMap和ArrayList实现Map和List;
3. 使用put()方法将班级和成绩添加到Map中;
4. 使用entrySet()方法遍历Map,获取班级和成绩;
5. 使用getKey()方法获取班级名称,getValue()方法获取成绩列表;
6. 使用增强for循环遍历成绩列表,打印出每个班级的成绩。
需要注意以下几点:
1. 使用Arrays.asList()方法将数组转换为List;
2. 使用entrySet()方法遍历Map,获取Map中的键值对;
3. 使用getKey()方法获取键,使用getValue()方法获取值;
4. 使用增强for循环遍历List中的元素;
5. Map中的键是唯一的,不能重复。
希望能够帮到你,如果还有其他问题可以继续提问哦!
阅读全文