我可以使用 Java 8 中的 Streams 让我的代码更简洁吗

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

所以我有一个商家对象列表(商家代码、购买参考等)。 所以它可以是这样的: 1、购买abc、说明 1、购买cde,描述2 2、购买饲料,描述 4 3、购买斐济,描述55 我的目标是计算唯一商户代码的数量 所以在这种情况下我将收到 3 我得到了这个java代码:

int numberOfUniqueMerchanCodes = myListOfMerchantRecords.stream()
                .collect(Collectors.groupingBy(t->t.getMerchantCode())).size();

我可以缩短一点吗?因为我真的不需要收集物品,只是为了数数? 商户代码的不同数量

java stream
1个回答
0
投票

也许你可以让你的代码像这样

long numberOfUniqueMerchantCodes = myListOfMerchantRecords.stream()
            .map(MerchantRecord::getMerchantCode)
            .distinct()
            .count();
© www.soinside.com 2019 - 2024. All rights reserved.