我从我创建的 DTO 中有两个单独的列表,这两个列表包含不同的数据集,即在第一个列表中可以说有一些“用户登录名”以及第二个最后更新的“状态”。在第二个列表中,我有所有状态记录的“用户登录名”(不仅仅是第二个最后更新的状态)。
如果想从 List1 中获取每个 'userloginname' 并在某些条件下与 list2 中的每个 'userloginname' 进行比较,这可能吗?
谢谢你
我从我创建的 DTO 中有两个单独的列表,这两个列表包含不同的数据集,即在第一个列表中可以说有一些“用户登录名”以及第二个最后更新的“状态”。在第二个列表中,我有所有状态记录的“用户登录名”(不仅仅是第二个最后更新的状态)。
如果想从 List1 中获取每个 'userloginname' 并在某些条件下与 list2 中的每个 'userloginname' 进行比较,这可能吗?
谢谢你
如果我有误解,请纠正我,但是这样的事情怎么样:
for (int i = 0 ; i < list1.size() ; i++) {
// Do something with "list1.get(i)" and "list2.get(i)"
}
有了这个,您可以将给定索引 inlist1
处的项目与 in 中相应索引处的项目进行比较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
}