public static Collector>
groupingBy(Function super T, ? extends K> classifier,Collector super T, A, D> downstream) {
return groupingBy(classifier, HashMap::new, downstream);
}
groupingBy(Function super T, ? extends K> classifier,Collector super T, A, D> downstream) {
return groupingBy(classifier, HashMap::new, downstream);
}
小例子
public class Main {
public static void main(String[] args) throws Exception {
List<Student> students = Arrays.asList(new Student("广东", 23), new Student("广东", 24),
new Student("广东", 23),
new Student("北京", 22), new Student("北京", 20),
new Student("北京", 20), new Student("海南", 25));
Map<String,Long> listMap = students.stream().collect(Collectors.groupingBy(obj->obj.getProvince(),Collectors.counting()));
listMap.forEach((key,value)->{
System.out.println(key+"人数有"+value);
});
}
}
class Student {
private int age;
private String province;
public Student(String province, int age) {
this.province = province;
this.age = age;
}
public Student() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
} 控制台输出

本文作者为DBC,转载请注明。