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 集合中

posted @ 2023-07-27 12:12  ︶ㄣ演戲ㄣ  阅读(16)  评论(0)    收藏  举报