我想得到一个Map列表,这些Map按 year
根据学生名单找到失踪的学生。
class Student {
private String studentNo
private String studentName
private String year
// Getter is implemented
// Setter is implemented
}
List<String> studnetNoList = new ArrayList<>();
studnetNoList =
[
"001A",
"002B",
"003C"
]
这是学生的样本名单
List<Student> studentList = new ArrayList<>();
studentList =
[
{
"studentNo": "001A",
"studentName": "Alex",
"year": "2010"
},
{
"studentNo": "001B",
"studentName": "John",
"year": "2010"
},
{
"studentNo": "003C",
"studentName": "Jane",
"year": "2011"
},
{
"studentNo": "001A",
"studentName": "David",
"year": "2011"
},
{
"studentNo": "001C",
"studentName": "Jane",
"year": "2012"
}
]
HashMap<String, Student> groupedStudent = new HashMap<>();
{
"2010": [
{
"studentNo": "001A",
"studentName": "Alex",
"year": "2010"
},
{
"studentNo": "001B",
"studentName": "John",
"year": "2010"
}
],
"2011": [
{
"studentNo": "003C",
"studentName": "Jane",
"year": "2011"
},
{
"studentNo": "001A",
"studentName": "David",
"year": "2011"
}
],
"2012": [
{
"studentNo": "001C",
"studentName": "Jane",
"year": "2012"
}
]
}
这是我对列表的预期结果
List<Student> missingStudentList = new ArrayList<>();
{
"2010": [
{
"studentNo": "001C",
"studentName": "Jane",
"year": "2010"
}
],
"2011": [
{
"studentNo": "001B",
"studentName": "John",
"year": "2011"
}
],
"2012": [
{
"studentNo": "001A",
"studentName": "Alex",
"year": "2010"
},
{
"studentNo": "001B",
"studentName": "John",
"year": "2010"
}
]
}
我刚刚解决了这个问题!!
首先,我将原来的学生名单按年份分组成一张Map,然后我用学生编号列表迭代这个分组学生的Map,以找到缺少的学生。然后我不得不重新创建 Student
通过将新值设置为 year
这需要为学生指定,我从来没有想过设置一个新的值 year
对学生来说。这就是为什么我一直在寻找失踪学生的原因。
我从这个社区得到了很多帮助!谢谢大家!!
暂无答案!
目前还没有任何答案,快来回答吧!