java8 List集合排序、截取、越断...(stream)

//List集合根据条件去重
List<Project> distinctProjectList = projectList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()
        -> new TreeSet<>(Comparator.comparing(Project :: getProjectAreaId))), ArrayList::new));


//List集合排序 (正序)
List<Order> newList = list.stream().sorted(Comparator.comparingDouble(Order::getId)).collect(Collectors.toList()); 
//List集合排序 (倒序)
List<Order> newList = list.stream().sorted(Comparator.comparingDouble(Order::getId).reversed()).collect(Collectors.toList());
int i = 5;
//截取List集合中前 i 个元素
List<Order> newList1 =list.stream().limit(i ).collect(Collectors.toList());
//越断List集合中最后的 i 个元素
List<Order>  newList2 = (newList.stream().skip(i ).collect(Collectors.toList()));
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl"); 
//List集合去除空字符串 
List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList()); 
// 获取空字符串的数量 
int count = (int) strings.stream().filter(String::isEmpty).count();
//取Double的List聚合中的最大值
Double max = taxList.stream().max(Comparator.comparing(Double::doubleValue)).get();
//拿对象中某个字段比较最大值
ZfastCustomerOrder info = zfastCustomerOrderList.stream().max(Comparator.comparing(ZfastCustomerOrder::getTaxRate)).get();
//根据条件去除元素
teaTeaching1.removeIf(filter -> filter.deleteById(teaTeachingOld.getTeacherId()));
//根据条件过滤元素
List<ProjectsScheduleExportVO> projectScheduleListI = projectScheduleList.stream().filter(o -> o.getScheduleType().equals("I") ).collect(Collectors.toList());
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值