我需要在一列中将csv中的所有键写到csv中,并将下一列中的所有值都写到csv中。
我可以用此代码单独处理任一列,但是当我结合使用时,该如何解释呢??如果我有10个键和10个值,则这些键将重复每个键中的10个。
我需要对循环做什么?
private static void generateCourseCounts() throws IOException {
ArrayList<StudentCourse> lsc = loadStudentCourses();
Map<Integer,Integer> countStudents = new TreeMap<Integer,Integer>();
for (StudentCourse sc : lsc) {
Integer freq = countStudents.get(sc.getcourseId());
countStudents.put(sc.getcourseId(),(freq == null) ? 1 : freq + 1);
}
ArrayList<Course> lc = loadCourses();
Map<String,String> courses = new LinkedHashMap<String,String>();
for (Course c : lc) {
String freq = courses.get(c.getcourseName());
courses.put(c.getcourseName(),freq);
}
FileWriter writer = new FileWriter("CourseCounts.csv");
PrintWriter printWriter = new PrintWriter(writer);
printWriter.println("Course Name\t# Students");
for (Entry<String,String> courseKey : courses.entryset())
for (Entry<Integer,Integer> numberKey : countStudents.entryset()) {
printWriter.println(courseKey.getKey() + "\t" + numberKey.getvalue());
}
printWriter.close();
writer.close();
}
因此,根据下面的评论,我对此进行了编辑:
for (String courseKey : courses.keySet()) {
Integer count = countStudents.get(courseKey) ;
printWriter.println(courseKey + "\t" + count);
}
但是,这将写入一个空文件。