java中List中存在课程名称,课程平时成绩,课程期末成绩。如果出现重复课程名称,只记录首次的信息,忽略后面的信息,请写出代码
时间: 2024-02-24 17:59:22 浏览: 17
可以使用一个HashMap来存储课程名称和对应的课程信息,如果课程名称已经存在于HashMap中,则忽略后面的信息,否则将课程信息存入HashMap中。
具体代码如下:
```java
Map<String, List<Integer>> courseMap = new HashMap<>();
List<String> courses = new ArrayList<>();
List<Integer> scores = new ArrayList<>();
// 假设courses和scores已经被赋值
for (int i = 0; i < courses.size(); i++) {
String course = courses.get(i);
if (!courseMap.containsKey(course)) {
List<Integer> courseScores = new ArrayList<>();
courseScores.add(scores.get(i));
courseMap.put(course, courseScores);
}
}
// 打印课程信息
for (Map.Entry<String, List<Integer>> entry : courseMap.entrySet()) {
String course = entry.getKey();
List<Integer> courseScores = entry.getValue();
int usualScore = courseScores.get(0);
int finalScore = courseScores.get(courseScores.size() - 1);
System.out.printf("课程名称:%s,平时成绩:%d,期末成绩:%d\n", course, usualScore, finalScore);
}
```