如何通过多个属性查找重复的对象并将其合并?

问题描述 投票:0回答:1

我正在编写用于在MongoDb中收集之间进行数据归一化的验证功能我有一个对象:如下:

Class ReleaseTime{
private Date startDate;
private Date endDate;
private List<String> regions;

}

我必须收集所有具有相同startDate和相同endDate的ReleaseTime对象,然后将Regions列表合并在一起

我已经尝试过下面的代码,但只是按startDate分组

expectedAvailabilities = new ArrayList<Track_BasedAvailability>(ungrouppedAvailabilites.stream()
            .collect(Collectors.toMap(Track_BasedAvailability::getStartDate,
                    Function.identity(),
                    (Track_BasedAvailability tb1, Track_BasedAvailability tb2) ->
                    {
                        tb1.getRegions().addAll(tb2.getRegions());
                        tb2.getRegions().clear();
                        return tb1;
                    })
            ).values());

感谢您的帮助!

java collections stream
1个回答
0
投票

您可以将分组用作:

© www.soinside.com 2019 - 2024. All rights reserved.