我有一个来自我创建的DTO的两个单独的列表,这两个列表包含不同的数据集,即在第一个列表中可以说有一些'userloginname'以及第二个最后更新的'status'。 在第二个列表中,我有'userloginname',其中包含所有状态记录(不仅仅是第二个上次更新状态)。
如果想从List1中获取每个'userloginname'并与list2中的每个'userloginname'进行比较,是否可以这样做?
谢谢
答案 0 :(得分:1)
如果我误解了,请纠正我,但是这样的事情怎么样:
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)"
}
答案 1 :(得分:0)
使用'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
}