java Lambda操作

集合对象赋值

 List<User> list = userService.list(Wrappers.<User>lambdaQuery().like(StringUtils.isNotEmpty(userName), User::getUsername, userName));
        List<UserRO> ret = list.stream().map(s -> {
            UserRO ro = new UserRO();
            ro.setUserName(s.getUsername());
            ro.setId(s.getId());
            return ro;
        }).collect(Collectors.toList());

对象list拷贝

   List<AuthClientPageResp> list = BeanUtil.beanCopyList(pageRes.getRecords(), AuthClientPageResp.class);

 判断对象是否为空

        SysClientVo vo=new SysClientVo();
        vo.setClientId("2");
        Optional.ofNullable(vo).ifPresent(e->{
            System.out.println(e.getClientId());
        });

将一个对象集合放入Map

Map<String, DeptDO> inventoryMap = dtos.stream().collect(Collectors.toMap(e -> e.getCompanyNo() , e -> e));

高级写法

 Map<String, DeptDO> deptMap = deptList.stream().collect(Collectors.toMap(
                    DeptDO::getDeptDingId,
                    Function.identity(),
                    (a, b) -> a
            ));

 

分页,pageNum是指从0开始的页码(0,1,2,......),pageSize是指每页的偏移量或者说每页展示的数据量。

List<User> pageUsers = users.stream().skip((pageNum-1) * pageSize).limit(pageSize).collect(Collectors.toList());

升序分页
List<User> pageUsers = users.stream().sorted(Comparator.comparing(User::getUserId)).skip((pageNum-1) * pageSize).limit(pageSize).collect(Collectors.toList());

集合元素拼接成字符串

 按照集合中的某个字段排序

 对集合数据过滤

获取集合中的某个字段生成新的集合

 对某一个字段进行统计累加

 根据某个字段进行分组

 判断集合中某个字段是否存在某个值

 最大值、最小值、平均值

 按照某个字段进行去重

遍历操作

User user1=new User(1,22,李四);
List<User> userList=new ArrayList();
userList.add(user1);
List<Map<String, Object>> columns = Lists.newArrayList();
userList.forEach(c -> {
    Map<String, Object> column = Maps.newLinkedHashMap();
    column.put("index", c.split(Constants.SPLIT_SCOLON)[0]);
    column.put("type", c.split(Constants.SPLIT_SCOLON)[2]);
    columns.add(column);
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今朝花落悲颜色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值