Java8新特性的运用
Lambda表达式和Stream流
集合遍历
从对象集合中取出对象的id集合
传统写法:
List<SysUserRole> userRoles = userRoleService.list(wrapper);
List<Long> idList = new ArrayList<Long>();
for (SysUserRole userRole : userRoles) {
Long roleId = userRole.getRoleId();
idList.add(roleId);
}
lambda表达式和Stream流
List<Long> idList = userRoles.stream().map(c -> c.getRoleId()).collect(Collectors.toList());
//解释:
userRoles.stream() //把集合对象转化为流
map() //用于映射每个元素到对应的结果
map(c -> c.getRoleId()) //每个对象映射它的roleId
collcet() //收集 Stream 中的元素并将其转换为集合(或其他类型的结果)需要传入一个 Collector 参数,该参数定义了如何将 Stream 中的元素进行收集。
collect(Collectors.toList()) //将 Stream 中的元素收集到一个 List 集合中
浙公网安备 33010602011771号