Java list 方法分组

在 Java 中,可以使用 Liststream() 方法来对列表进行操作。要按照特定条件将元素分组,可以使用 Collectors.groupingBy() 方法。

下面是一个示例代码,展示了如何根据某个属性值将 List 中的元素分组:

import java.util.*;

import java.util.stream.Collectors;

public class Main {

public static void main(String[] args) {

// 创建一个包含多个 Person 对象的 List

List<Person> personList = Arrays.asList(

new Person("Alice", "Female"),

new Person("Bob", "Male"),

new Person("Charlie", "Male"),

new Person("Dave", "Male")

);

// 按照 gender(性别)字段进行分组

Map<String, List<Person>> groupedPersons = personList.stream()

.collect(Collectors.groupingBy(Person::getGender));

// 输出结果

for (Map.Entry<String, List<Person>> entry : groupedPersons.entrySet()) {

System.out.println("Group by Gender: " + entry.getKey());

for (Person person : entry.getValue()) {

System.out.println("\t" + person);

}

System.out.println();

}

}

}

class Person {

private String name;

private String gender;

public Person(String name, String gender) {

this.name = name;

this.gender = gender;

}

public String getName() { return name; }

public String getGender() { return gender; }

@Override

public String toString() {

return "Person{" +

"name='" + name + '\'' +

", gender='" + gender + '\'' +

'}';

}

}

运行上述代码会得到类似于以下输出:

Group by Gender: Male

Person{name='Bob', gender='Male'}

Person{name='Charlie', gender='Male'}

Person{name='Dave', gender='Male'}

Group by Gender: Female

Person{name='Alice', gender='Female'}

相关推荐
客梦2 分钟前
Java 学生管理系统
java·笔记
e***0964 分钟前
SpringBoot下获取resources目录下文件的常用方法
java·spring boot·后端
q***14648 分钟前
JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)
java·tomcat
IccBoY14 分钟前
将idea快捷打开加入到鼠标右键
windows·intellij-idea·idea
WXDcsdn19 分钟前
联想台式机更换硬盘(Win10转Win7)后鼠标和键盘无法使用
运维·windows·it运维
從南走到北25 分钟前
JAVA同城信息付费系统家政服务房屋租赁房屋买卖房屋装修信息发布平台小程序APP公众号源码
java·开发语言·小程序
TechMasterPlus36 分钟前
java:单例模式
java·开发语言·单例模式
JIngJaneIL1 小时前
远程在线诊疗|在线诊疗|基于java和小程序的在线诊疗系统小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·在线诊疗小程序
will_we1 小时前
Spring Boot4正式篇:第二篇 多版本API特性
java·后端
风筝在晴天搁浅1 小时前
代码随想录 70.爬楼梯
java