【发布时间】:2016-01-18 03:51:00
【问题描述】:
我想转置我的列表
假设我有 studentList
List<Student> studentList = new ArrayList<Student>();
studentList.add(new Student(101, "English", "95"));
studentList.add(new Student(101, "Maths", "82"));
studentList.add(new Student(101, "Biology", "93"));
studentList.add(new Student(101, "Physics", "77"));
studentList.add(new Student(101, "Chemistry", "65"));
studentList.add(new Student(102, "English", "86"));
studentList.add(new Student(102, "Maths", "75"));
studentList.add(new Student(102, "Biology", "68"));
studentList.add(new Student(102, "Physics", "63"));
studentList.add(new Student(102, "Chemistry", "84"));
studentList.add(new Student(103, "English", "92"));
studentList.add(new Student(103, "Maths", "88"));
studentList.add(new Student(103, "Biology", "67"));
studentList.add(new Student(103, "Physics", "81"));
studentList.add(new Student(103, "Chemistry", "93"));
public class Student {
private Integer rollNo;
private String subject;
private String marks;
..........
}
我想将此数据转置到 StudentResultList
List<StudentResult> studentResultList = new ArrayList<StudentResult>();
public class StudentResult {
private String rollno;
private String english;
private String maths;
private String biology;
private String physics;
private String chemistry;
..........
}
预期输出:
101 102 103
English 95 86 92
Maths 82 75 88
Biology 93 68 67
Physics 77 63 81
Chemistry 65 84 93
我必须使用什么集合来转置我的列表?
我尝试使用
进行转换HashMap<Integer,Object>
(Integer 是 RollNo,Object 是另一个 hashmap)
HashMap<String, String>
(字符串是主题,另一个字符串是标记)
使用这个我将学生列表转换为学生结果列表。
有人建议我,有没有更好的方法来转置列表?
【问题讨论】:
-
为什么需要这些额外的对象?为什么你不能直接遍历学生并将它们添加到学生结果中?
-
@ergonaut 在 Studentclass 英语、物理等中是主题字段的值。在 StudentResult 类中,它们是字段。我们不能直接迭代student类并添加到studentresult类中
标签: java arraylist data-structures collections