DataHistoryRecord类:
public class DataHistoryRecord {
Long dataCreatedBy;
Long dataModifiedBy;
getters & setters
}
我有List<DataHistoryRecord>
,我想用唯一的HashSet
和dataCreatedBy
ID从中创建dataModifiedBy
。
例如:如果列表具有以下两个记录:
DataHistoryRecord1,其中dataCreatedBy:1,dataModifiedBy:2
具有dataCreatedBy:1和dataModifiedBy:3的DataHistoryRecord2
输出HashSet
应该具有三个值; 1,2,3
注意:请建议不使用foreach的方法
答案 0 :(得分:5)
您可以这样做
Set<Long> uniqueValues = historyRecords.stream()
.flatMap(hr -> Stream.of(hr.getCreatedBy(), hr.getModifiedBy()))
.collect(Collectors.toSet());
答案 1 :(得分:1)
使用以下代码:
Set<Long> collect = list
.stream()
.flatMap(record -> Stream.of(record.getCreatedBy(), record.getModifiedBy())
.collect(Collectors.toSet());