java8 Stream API 及常用方法
if (permission.getType() == 0){
return true;
}
return false;
}).collect(Collectors.toList());
map 筛选
map 为获取 map 括号里面 return 出来的值
// 获取所有权限的 id 组成的集合
List<Long> idList = permissionList.stream()
.map(permission -> permission.getId())
.coll 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 ect(Collectors.toList());
//第二种写法
List<Integer> list = permissionList.stream()
.map(permission -> {
return permission.getId();
}).collect(Collectors.toList());
list 获取指定数量元素
从 Stream 中获取指定数量的元素。
// 获取前 3 个权限对象组成的集合
List<UmsPermission> firstFiveList = permissionList.stream()
.limit(3)
.c Java 开源项目【ali1024.coding.net/public/P7/Java/git】 ollect(Collectors.toList());
skip 跳过指定下标
// 跳过前 5 个元素,返回后面的
List<UmsPermission> skipList = permissionList.stream()
.skip(5)
.collect(Collectors.toList());
count 获取总数
// count 操作:获取所有目录权限的个数
long dirPermissionCount = permissionList.stream()
.filter(permission -> permission.getType() == 0)
.count();
sorted 排序
sorted 排序 括号中返回的为 -1 0 1
// 将所有权限按先目录后菜单再按钮的顺序排序
//默认正序
List<UmsPermission> sortedList = permissionList.stream()
.sorted(Comparator.comparing(UmsPermission::getType)).collect(Collectors.toList());
//倒序 reversed
List<UmsPermission> sortedList = permissionList.stream()
.sorted(Comparator.comparing(UmsPermission::getType).reversed()).collect(Collectors.toList());
//第二种写法 正序
List<UmsPermission> sortedList = permissionList.stream()
//permission1 下一个元素的值 permission2 当前元素的值
.sorted((permission1,permission2)->{
//compareTo 对比方法介绍
//permission1.getType() 小于 permission2.getType() 返回 -1 正序
//permission1.getType() 等于 permission2.getType() 返回 0 不排序
//permission1.getType() 大于 permission2.getType() 返回 1 倒序
return permission1.getType().compareTo(permission2.getType());})
.collect(Collectors.toList());
controller 方法
// 对象转 Map<Long,UmsPermission> 类型 key:id ,value:对象
Map<Long, UmsPermission> permissionMap = permissionList.stream()
最后
由于篇幅原因,就不多做展示了
评论