jdk1.8之后, 更新了lambda表达式, 对集合操作更加便捷
1. stream.filter的的使用介绍
可直接对集合中的元素进行过滤, 符合条件的对象留下来
userDTOList = sysUserMapper.query(searchUserArgs);
Stream<UserDTO> userDTOStream = userDTOList.stream().filter(user -> "1".equals(user.getStatusCode()));
List<UserDTO> collect = userDTOStream.collect(Collectors.toList());
log.info(JsonUtils.objectToJson(collect));
2. lambda表达式的遍历操作
@Test
public void test1() {
List<SysUser> sysUserList = new ArrayList<>();
for (int i = 0; i < 5; i++) {
SysUser sysUser = new SysUser();
sysUser.setId(i);
sysUser.setName("这是第" + i + "个人的用户名");
sysUser.setSex(i%2==0?"男":"女");
sysUserList.add(sysUser);
}
/// 使用 lambda 表达式以及函数操作(functional operation)
sysUserList.forEach(userDTO -> System.out.println(userDTO));
// 在 Java 8 中使用双冒号操作符
sysUserList.forEach(System.out::print);
}
输出结果如下