java8中list的高级玩法

本文记录了如何使用Java8的Stream API来过滤、排序和限制List中的元素。通过filter方法实现数据字段过滤,例如筛选出名字为'zs'且年龄大于10的对象;使用sorted方法配合Comparator进行排序,可以实现升序和降序排列;利用limit方法获取List的前n个元素。这些技巧能有效提升代码的简洁性和效率。

最近频繁做List的一些操作,换成java8后发现有的可以直接通过steam流完成快速开发。记录一下

List<A> list = new ArrayList<>();

@Data

public class A{

private String name;

private int age;

private Date birthday;

}

List<A> list = new ArrayList<>();

数据字段过滤

list = list.stream().filter(a -> a.name.equal("zs")).filter(a -> a.age>10).collect(Collectors.toList());

数据字段排序

降序

list = list.stream().sorted(Comparator.comparing(A::getBirthday,Comparator.reverseOrder())).collect(Collectors.toList());

升序

list = list.stream().sorted(Comparator.comparing(A::getBirthday)).collect(Collectors.toList());

 取固定条数

list = list.subList(start,end);

list =  list.stream().limit(10);

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值