我有一个创建的DTO有两个独立列表,这两个列表包含不同的数据集,即第一个列表中可以说有一些“userloginname”以及第二个最后更新的“状态”。 在第二个列表中我有'userloginname'与所有状态记录(不只是第二个最后更新的状态)。通过多个列表进行迭代
如果想要从List1中获取每个'userloginname',并在某种条件下与list2中的每个'userloginname'进行比较,这是可能的。
谢谢
我有一个创建的DTO有两个独立列表,这两个列表包含不同的数据集,即第一个列表中可以说有一些“userloginname”以及第二个最后更新的“状态”。 在第二个列表中我有'userloginname'与所有状态记录(不只是第二个最后更新的状态)。通过多个列表进行迭代
如果想要从List1中获取每个'userloginname',并在某种条件下与list2中的每个'userloginname'进行比较,这是可能的。
谢谢
纠正我,如果我是误会,但如何对这样的事情:
for (int i = 0 ; i < list1.size() ; i++) {
// Do something with "list1.get(i)" and "list2.get(i)"
}
有了这个,你可以在给定指标在list1
与项目对应的指数比较项目在list2
。如果你想每一个list1
成员与所有其他list2
成员相比,你可以这样做:
for (int i = 0 ; i < list1.size() ; i++)
for (int j = 0 ; j < list2.size() ; j++) {
// Do something with "list1.get(i)" and "list2.get(j)"
}
转换列表中的一个使用“userloginname”作为一个重要的地图。
List<LastStatusRecord> lastStatusRecords = dto.getLastStatusRecords();
List<StatusRecord> statusRecords = dto.getStatusRecords();
Map<String, FullRecord> statusRecordIndex = new HashMap<String, StatusRecord>();
for (StatusRecord statusRecord : statusRecords) {
statusRecordIndex.put(statusRecord.getUserLoginName(), statusRecord);
}
for (LastStatusRecord lastStatusRecord : lastStatusRecords) {
StatusRecord statusRecord = statusRecordIndex.get(lastStatusRecord.getUserLoginName());
// place the condition here
}
这应该做,但是2列表将需要有相同的长度。 – Thousand
但该列表中存储了两个值,即登录名和状态,那么list1.get(i)会返回什么? – anandkk