0

作成したDTOから2つの別個のリストがあります。2つのリストには異なるデータセットが含まれています。つまり、最初のリストに、最後に更新された2番目の「ステータス」とともに「userloginname」があるとします。2番目のリストには、(最後に更新された2番目のステータスだけでなく)すべてのステータスレコードを含む「userloginname」があります。

これは、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)"
}

list1これにより、の特定のインデックスのアイテムをの対応するインデックスのアイテムと比較できますlist2list1すべてのメンバーを他のすべてのメンバーと比較したい場合は、次の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'をキーとして使用して、リストの1つをマップに変換します。

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 に答える