0

我从我创建的 DTO 中有两个单独的列表,这两个列表包含不同的数据集,即在第一个列表中可以说有一些“用户登录名”以及第二个最后更新的“状态”。在第二个列表中,我有所有状态记录的“用户登录名”(不仅仅是第二个最后更新的状态)。

如果想从 List1 中获取每个 'userloginname' 并在某些条件下与 list2 中的每个 'userloginname' 进行比较,这可能吗?

谢谢你

4

2 回答 2

1

如果我有误解,请纠正我,但是这样的事情怎么样:

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)"
    }
于 2012-09-19T21:39:43.983 回答
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
}
于 2012-09-19T21:51:30.740 回答