Lambda表达式中针对List的常用方法

本文详细介绍了如何使用Java的Stream API进行集合操作,包括转换List为Map、按名称分组、以及按照不同条件进行排序。通过具体的代码示例,展示了如何创建Person对象列表,并运用Stream API实现数据的高效处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作:


public class People
{
	public People(int age, String name, boolean sex, int weight, int height)
	{
		super();
		this.age = age;
		this.name = name;
		this.sex = sex;
		this.weight = weight;
		this.height = height;
	}
	public People()
	{
		super();
	}
	private int age;
	
	private String name;
	
	private boolean sex;
	
	private int weight;
	
	private int height;
	......
}

List<People> list1 = new ArrayList<>();
list1.add(new People(12, "ZS", true, 100, 160));
list1.add(new People(10, "LS", false, 110, 150));
list1.add(new People(10, "WW", true, 100, 170));
  • List =>Map
Map<String, People> map = list1.stream().collect(Collectors.toMap(People::getName, people -> people));
  • List 分组
Map<String, List<People>> mapList = list1.stream().collect(Collectors.groupingBy(People::getName));
  • List 排序 – 从低到高
list1.sort((p1, p2) -> p1.getAge() - p2.getAge());
  • List 多条件排序 – 先按照年龄,再按照身高
list1.sort(Comparator.comparing(People::getAge).thenComparing(People::getHeight));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值