java lambda orderby_Java Lambda常用方法(持续更新)

package com.svnlan.order.controller;

import java.util.Arrays;

import java.util.Comparator;

import java.util.List;

import java.util.Map;

import java.util.stream.Collectors;

public class TestClass {

public static void main(String[] args) {

User user1 = new User(5, "aa");

User user2 = new User(2, "ba");

User user3 = new User(3, "ac");

User user4 = new User(1, "aad");

User user5 = new User(4, "asd");

List userList = Arrays.asList(user1, user2, user3, user4, user5);

//获取所有ID集合

List idList = userList.stream().map(User::getId).collect(Collectors.toList());

//排序ID

List userList1 = userList.stream().sorted(Comparator.comparingInt(User::getId)).collect(Collectors.toList());

//分组

Map map = userList.stream().collect(Collectors.groupingBy(User::getName, Collectors.counting()));

//获取id大于2的

List userList2 = userList.stream().filter(user -> user.getId() > 2).collect(Collectors.toList());

//获取最大

Integer id = userList.stream().map(User::getId).max(Integer::compareTo).get();

//获取最小

Integer id1 = userList.stream().map(User::getId).min(Integer::compareTo).get();

//获取id数量

long count = userList.stream().map(User::getId).count();

//总和

int sum = userList.stream().mapToInt(User::getId).sum();

//获取平均值

double d = userList.stream().mapToInt(User::getId).average().getAsDouble();

//匹配findAny/allMatch/noneMatch多用来判断

User user = userList.stream().findAny().get();

//获取第一个对象

User user6 = userList.stream().findFirst().get();

//将名字全转换为大写

List list = userList.stream().map(User::getName).map(String::toUpperCase).collect(Collectors.toList());

//获取忽略第一个并取前几条数据

List list1 = userList.stream().skip(1).limit(2).collect(Collectors.toList());

//去重

List collect = userList.stream().distinct().collect(Collectors.toList());

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值