DataHistoryRecord类:

public class DataHistoryRecord {

Long dataCreatedBy;
Long dataModifiedBy;
getters & setters

}

我有List<DataHistoryRecord>,我想用唯一的HashSetdataCreatedBy id从中创建dataModifiedBy

例如:如果列表具有以下两个记录:

具有dataCreatedBy:1和dataModifiedBy:2的DataHistoryRecord1

具有dataCreatedBy:1和dataModifiedBy:3的DataHistoryRecord2

输出HashSet应该具有三个值; 1,2,3

注意:请建议不使用foreach的方法

最佳答案

你可以这样做

Set<Long> uniqueValues = historyRecords.stream()
        .flatMap(hr -> Stream.of(hr.getCreatedBy(), hr.getModifiedBy()))
        .collect(Collectors.toSet());

09-04 09:04