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'}

相关推荐
逻辑驱动的ken14 小时前
Java高频面试考点场景题21
java·开发语言·面试·职场和发展·求职招聘
番茄去哪了14 小时前
单体转微服务:正确的拆分思路与实战原则(上)
java·微服务·架构
AI进化营-智能译站14 小时前
ROS2 C++开发系列19-枚举定义机器人状态机|随机数生成仿真测试数据流
java·c++·ai·机器人
fengxin_rou14 小时前
黑马点评项目万字总结:从redis基础到实战应用详解
java·开发语言·分布式·后端·黑马点评
dEso RSET14 小时前
FrankenPHP实践
java
逸Y 仙X15 小时前
文章二十:Elasticsearch高亮搜索完全指南
java·大数据·运维·elasticsearch·搜索引擎·全文检索
Lyyaoo.15 小时前
【JAVA Spring面经】Spring 事务失效情况
java·数据库·spring
salipopl15 小时前
Spring Boot 整合 Druid 并开启监控
java·spring boot·后端
怪兽软家15 小时前
AutoCAD 2027安装教程及下载
windows·经验分享·生活
ShiJiuD66688899915 小时前
JSP Cookie和Session
java·开发语言