代碼
package com.jianshu;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* stream 對象分組
*
* @author archer
* @since 2022/12/28 8:51
*/
public class StreamGroup {
public static void main(String[] args) {
List<Person> personList = new ArrayList<>();
Person person1 = new Person(1, "張三");
Person person2 = new Person(0, "李四");
Person person3 = new Person(1, "王五");
Person person4 = new Person(1, "馬六");
personList.add(person1);
personList.add(person2);
personList.add(person3);
personList.add(person4);
Map<Integer, List<Person>> personMap = personList.stream().collect(Collectors.<Person, Integer>groupingBy(Person::getSex));
personMap.forEach((index, persons) -> {
System.out.println("性別 : " + index);
persons.forEach(item -> System.out.println("\t姓名 : " + item.getName()));
});
}
@Data
private static class Person {
/**
* 初始化對象
*
* @param sex 性別
* @param name 姓名
*/
public Person(Integer sex, String name) {
this.sex = sex;
this.name = name;
}
/**
* 性別
*/
private Integer sex;
/**
* 姓名
*/
private String name;
}
}
結(jié)果輸出
性別 : 0
姓名 : 李四
性別 : 1
姓名 : 張三
姓名 : 王五
姓名 : 馬六
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。