Java Stream出现次数

pan*_*nnu 0 java java-8 java-stream

我有以下对象的列表.使用StreamAPI,我可以得到User它出现的频率数List吗?

public class User {
    string name;
    int age;
}
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 7

您可以groupingBy结合使用counting:

Map<String,Long> countByName =    
    users.stream()
         .collect(Collectors.groupingBy(User::getName,Collectors.counting()));
Run Code Online (Sandbox Code Playgroud)

这为您提供了每个User名称的计数.