这个问题在这里已有答案:
我有以下对象的列表。使用Stream
API,我可以得到一个User
,其频率出现在List
中吗?
public class User {
string name;
int age;
}
你可以使用groupingBy
结合counting
:
Map<String,Long> countByName =
users.stream()
.collect(Collectors.groupingBy(User::getName,Collectors.counting()));
这为您提供了每个User
名称的计数。