【发布时间】:2021-03-28 14:19:02
【问题描述】:
我需要查找我的集合是否包含至少 5 个具有共同属性值的元素并返回这些元素。
我这样做:
cards.stream()
.filter(card -> cards.stream()
.filter(card1 -> card.getSuit() == card1.getSuit()).count() >= CombinationConstant.CARD_COUNT)
.collect(Collectors.toList());
您认为过滤另一个流是不好的做法吗?
【问题讨论】:
-
我假设变量
cards的类型是扩展java.util.Collection 的某个类或接口。Collection中每个元素的类型是什么? -
每个元素都是卡片类型,具有私有花色字段。适合是枚举。
-
什么是常用变量?您是否在
cards中寻找至少五个具有相同Suit的元素? -
是的,我需要至少五个具有相同套装的元素。
标签: java arrays java-stream