我正在尝试使用Java 8流来获取列表中一组值中对象的出现次数,但我还没有完全掌握它。
我正在尝试做的是:
int threshold = 5;
for (Player player : match) { // match is a Set<Player>
int count = 0;
for (Set<Player> existingMatch : matches)
if (existingMatch.contains(player))
count++;
if (count >= threshold )
throw new IllegalArgumentException("...");
}
我知道我可以使用
collect
和groupingBy
进行分组,并使用筛选器来表明应用的操作是使用新的方法引用运算符contains
。但是,我对这些新的Java 8特性还不太熟悉,无法将它们全部结合起来。那么,如何使用Stream从列表中提取所有值集合中
player
出现次数的数量呢?