我想转置我的列表
假设我有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>
(String是Subject,另一个String是标记)
使用此我将学生列表转换为studentResultlist。
有人建议我,有没有更好的方法来转置清单?
答案 0 :(得分:0)
没有隐式/自动方式来做到这一点。
您必须坐下来写下迭代studentList的代码,并收集构建其他列表所需的信息。
请记住:基本上你有两个物体;一个代表学生班级的对象;另一个持有StudentResult类的对象。但计算机并不知道应该收集哪一类的属性来构建第二类的对象 - 除非你坐下来提供这些信息。
换句话说:如果您要查看数据库,则可以运行查询和其他操作来构建数据的不同视图。但是没有数据库,所以在现有数据上构建不同视图的所有逻辑都必须手动编程。