集合对象赋值
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); });