当前位置: 首页 > news >正文

ps做网站边框郑州做旅游网站的公司

ps做网站边框,郑州做旅游网站的公司,百度商桥怎么和网站,线上电脑培训班目录 java8 List的Stream流操作 (实用篇 三) 初始数据 1、Stream过滤#xff1a; 过滤-常用方法 1.1 筛选单元素--年龄等于18 1.2 筛选单元素--年龄大于18 1.3 筛选范围--年龄大于18 and 年龄小于40 1.4 多条件筛选--年龄大于18 or 年龄小于40 and sex男 1.5 多条件筛…目录 java8 List的Stream流操作 (实用篇 三) 初始数据 1、Stream过滤 过滤-常用方法 1.1 筛选单元素--年龄等于18 1.2 筛选单元素--年龄大于18 1.3 筛选范围--年龄大于18 and 年龄小于40 1.4 多条件筛选--年龄大于18 or 年龄小于40 and sex男 1.5 多条件筛选--年龄大于18 or 年龄小于40 and sex男 返回姓名name集合 2、Stream去重集合去重和按元素去重 去重-常用方法(关键字distinct、concat和利用set、map) 2.1 关键字distinct去重 2.2 关键字concat合并和distinct 去重 2.3 用set集合去重 2.4 用map去重--以某个元素去重 3、Stream拼接joining 拼接-常用方法 3.1 集合内某个字段拼接 3.2 对象内的指定元素map拼接、返回集合 3.3 对象内的指定元素map拼接、再全部拼接 4、Stream分组即组装成map(groupingBy、toMap) 分组-常用方法 4.1 groupingBy-通过年龄分组 4.2 根据userId组装list对象对应id的对象的某个属性成组(这里用的userName) 4.3 toMap-通过userId分组key重复会报错 4.4 toMap-通过age分组、取前面的值 4.5 toMap-通过age分组、取后面的值 4.6 toMap-通过男女分组、并且累加age 5、Stream排序 排序-常用方法 5.1 compareTo 关键字 5.2 Comparator.comparing() 关键方法 5.2.1 排序通常和过滤一起使用、如果元素为空会报错 5.2.2 多个元素排序方法 5.3 自定义排序 6、Stream统计count、sum、max、min、average 统计-常用方法 6.1 count-获取user集合中年龄大于18岁的人数 6.2 sum-获取user集合中所有人的年纪的总和 6.3 max-获取user集合中所有人年纪最大的人 6.4 min-获取user集合中所有人年纪最小的人 6.5 average-获取user集合中所有人的年纪的平均值 7、Stream分页skip、limit 分页-常用方法 7.1 skip跳过前n个数据 、limit获取前n个数据 java8 List的Stream流操作 (实用篇 三) 实际开发的时候想不起来Stream的一些常用方法、去找却很不方便、所以我准备再学一篇实用或者叫常用的stream相关方法的文章。学习整理也是方便查看 结合 java8 List的Stream流操作 (常用篇 一)_java list.stream-CSDN博客 java8 List的Stream流操作 (特别篇 二) toMap_java list tomap-CSDN博客 和实际开发中的需求、按开发使用率排 初始数据 ListUser userList Lists.newArrayList();userList.add(new User(1,天一,男,16,true));userList.add(new User(2,空二,女,19,true));userList.add(new User(3,张三,男,18,true));userList.add(new User(4,李四,女,38,true));userList.add(new User(5,王五,男,18,true));userList.add(new User(6,王六,男,18,true));userList.add(new User(7,王七,男,18,true));userList.add(new User(7,王七,男,18,true));userList.add(new User(8,王七,男,null,true)); 1、Stream过滤 过滤是我们基本必用的 不管是过滤null值还是按条件过滤都是最常用的。 过滤-常用方法 1.1 筛选单元素--年龄等于18 //筛选单元素--年龄等于18 ListUser filterAgeEqual userList.stream().filter(user - user.getAge() 18).collect(Collectors.toList()); 1.2 筛选单元素--年龄大于18 //筛选单元素--年龄大于18 ListUser filterAgeRange userList.stream().filter(user - user.getAge() 18).collect(Collectors.toList()); 1.3 筛选范围--年龄大于18 and 年龄小于40 //筛选范围--年龄大于18 and 年龄小于40 ListUser filterAgeRange2 userList.stream().filter(user - user.getAge() 18 user.getAge() 40).collect(Collectors.toList()); 1.4 多条件筛选--年龄大于18 or 年龄小于40 and sex男 //多条件筛选--年龄大于18 or 年龄小于40 and sex男 ListUser filterAgeRange3 userList.stream().filter(user - user.getAge() 18 || user.getAge() 40 男.equals(user.getSex())).collect(Collectors.toList()); 1.5 多条件筛选--年龄大于18 or 年龄小于40 and sex男 返回姓名name集合 //多条件筛选--年龄大于18 or 年龄小于40 and sex男 返回姓名name集合 ListString nameList userList.stream().filter(user - (user.getAge() 18 || user.getAge() 40) 男.equals(user.getSex())).map(User::getUserName).collect(Collectors.toList()); 2、Stream去重集合去重和按元素去重 去重-常用方法(关键字distinct、concat和利用set、map) 2.1 关键字distinct去重 集合内的对象去重--结果是有序的 ListUser distinctList userList.stream().distinct().collect(Collectors.toList()); 2.2 关键字concat合并和distinct 去重 concat:合并两个流 distinct去重 //concat:合并两个流 distinct去重 ListUser concatAnddistinctList Stream.concat(userList.stream(), userList.stream()).distinct().collect(Collectors.toList()); 2.3 用set集合去重 集合内的对象去重--结果乱序 //集合内的对象去重--结果乱序 SetUser setDistinct userList.stream().collect(Collectors.toSet()); 2.4 用map去重--以某个元素去重 以某个元素去重--用map集合 (v1, v2) - v1 使用v1是表示保留age(年龄)第一次出现的对象、如果使用v2是保留age(年龄)最后一次出现的对象 ListUser mapDistinct userList.stream().collect(Collectors.collectingAndThen(Collectors.toMap(User::getAge, Function.identity(), (v1, v2) - v1),map - new ArrayList(map.values()))); 3、Stream拼接joining 拼接-常用方法 3.1 集合内某个字段拼接 姓名以,拼接 //姓名以,拼接 String userNameList userList.stream().map(User::getUserName).collect(Collectors.joining(,)); 3.2 对象内的指定元素map拼接、返回集合 每个对象都以 userId-userName-age 拼接、然后返回String集合 //每个对象都以 userId-userName-age 拼接、然后返回String集合 ListString strList userList.stream().map((User user) - user.getUserId() - user.getUserName() - user.getAge()).collect(Collectors.toList()); 3.3 对象内的指定元素map拼接、再全部拼接 每个对象都以 userId-userName-age 拼接、再以 , 拼接返回字符串 //每个对象都以 userId-userName-age 拼接、再以 , 拼接返回字符串 String userIdAndAgeNameAndList userList.stream().map((User user) - user.getUserId() - user.getUserName() - user.getAge()).collect(Collectors.joining(,)); 4、Stream分组即组装成map(groupingBy、toMap) 分组-常用方法 4.1 groupingBy-通过年龄分组 //groupingBy-通过年龄分组 MapInteger, ListUser userGroupingByMap userList.stream().collect(Collectors.groupingBy(User::getAge));userGroupingByMap.forEach((k, v) - {System.out.println(k : v);}); 4.2 根据userId组装list对象对应id的对象的某个属性成组(这里用的userName) //根据userId组装list对象对应id的对象的某个属性成组(这里用的userName) MapInteger,ListString mp6 userList.stream().collect(Collectors.groupingBy(User::getUserId, Collectors.mapping(User::getUserName, Collectors.toList()))); 4.3 toMap-通过userId分组key重复会报错 //toMap-通过userId分组key重复会报错 MapInteger, User userToMap userList.stream().filter(user - user.getAge() ! null).collect(Collectors.toMap(User::getUserId, Function.identity())); 4.4 toMap-通过age分组、取前面的值 //toMap-通过age分组、取前面的值 MapInteger, User userToMap2 userList.stream().filter(user - user.getAge() ! null).collect(Collectors.toMap(User::getAge, Function.identity(), (v1, v2) - v1)); 4.5 toMap-通过age分组、取后面的值 //toMap-通过age分组、取后面的值 MapInteger, User userToMap3 userList.stream().filter(user - user.getAge() ! null).collect(Collectors.toMap(User::getAge, Function.identity(), (v1, v2) - v2)); 4.6 toMap-通过男女分组、并且累加age //toMap-通过男女分组、并且累加age MapString, Integer userToMap4 userList.stream().filter(user - user.getAge() ! null).collect(Collectors.toMap(User::getSex, User::getAge, (v1, v2) - v1 v2)); userToMap4.forEach((k, v) - {System.out.println(k : v); }); 5、Stream排序 开发中有很多都是组装的集合、而要求返回的集合是有序的 使用率不高的原因是数据库查询支持排序、 排序-常用方法 单元素排序方法 5.1 compareTo 关键字 (o1, o2) - o1.getUserId().compareTo(o2.getUserId()) 升序 (o1, o2) - o2.getUserId().compareTo(o1.getUserId()) 降序 通过指定的userId字段排序 //升序 只写sorted()默认是升序、 我是为了演示才写完整的、开发中可以直接写sorted() ListUser sortedCompareTo userList.stream().sorted((o1, o2) - o1.getUserId().compareTo(o2.getUserId())).collect(Collectors.toList());//降序 ListUser sortedReversed userList.stream().sorted((o1, o2) - o2.getUserId().compareTo(o1.getUserId())).collect(Collectors.toList()); 5.2 Comparator.comparing() 关键方法 默认升序 加reversed()为降序 //默认升序 ListUser sortedComparator userList.stream().sorted(Comparator.comparing(User::getUserId)).collect(Collectors.toList());//reversed()为降序 ListUser sortedComparatorReversed userList.stream().sorted(Comparator.comparing(User::getUserId).reversed()).collect(Collectors.toList()); 5.2.1 排序通常和过滤一起使用、如果元素为空会报错 //排序通常和过滤一起使用、如果元素为空会报错 ListUser sortedFilter userList.stream().filter(user - user.getAge() ! null).sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList()); 5.2.2 多个元素排序方法 排序通常和过滤一起使用、 先用age排序、年龄相同再用userId排序默认是升序 //排序通常和过滤一起使用、 先用age排序、年龄相同再用userId排序默认是升序 StreamUser sortedComparators userList.stream().filter(user - user.getAge() ! null).sorted(Comparator.comparing(User::getAge).thenComparing(User::getUserId)); 排序通常和过滤一起使用、 先用age排序升序、年龄相同再用userId排序降序 //排序通常和过滤一起使用、 先用age排序升序、年龄相同再用userId排序降序 StreamUser sortedComparatorReverseds userList.stream().filter(user - user.getAge()!null).sorted(Comparator.comparing(User::getAge).thenComparing(User::getUserId).reversed()); 5.3 自定义排序 先按年龄再按userId自定义排序降序 //先按年龄再按userId自定义排序降序 ListUser sortedCustom userList.stream().sorted((u1, u2) - {if (Objects.equals(u1.getAge(), u2.getAge())) {return u2.getAge() - u1.getAge();} else {return u2.getUserId() - u1.getUserId();} }).collect(Collectors.toList()); 6、Stream统计count、sum、max、min、average 统计-常用方法 6.1 count-获取user集合中年龄大于18岁的人数 //count-获取user集合中年龄大于18岁的人数 Long count userList.stream().filter(user-user.getAge() 18).count(); System.out.println(user集合中年龄大于18岁的人数count); 6.2 sum-获取user集合中所有人的年纪的总和 //sum-获取user集合中所有人的年纪的总和 Long summingLong userList.stream().map(User::getAge).collect(Collectors.summingLong(Integer::longValue)); System.out.println(user集合中所有人的年纪的总和summingLong); 6.3 max-获取user集合中所有人年纪最大的人 //max-获取user集合中所有人年纪最大的人 OptionalUser max userList.stream().max(Comparator.comparing(User::getAge)); System.out.println(user集合中年纪最大的人是max.get().getUserName()); 6.4 min-获取user集合中所有人年纪最小的人 //min-获取user集合中所有人年纪最小的人 OptionalUser min userList.stream().min(Comparator.comparing(User::getAge)); System.out.println(user集合中年纪最小的人是min.get().getUserName()); 6.5 average-获取user集合中所有人的年纪的平均值 //average-获取user集合中所有人的年纪的平均值 Double average userList.stream().map(User::getAge).collect(Collectors.averagingDouble(Integer::doubleValue)); System.out.println(user集合中所有人的年纪的平均值 average); 7、Stream分页skip、limit 分页-常用方法 7.1 skip跳过前n个数据 、limit获取前n个数据 //skip跳过前n个数据 、limit获取前n个数据 ListUser skipAndLimit userList.stream().skip(1).limit(2).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(skipAndLimit)){skipAndLimit.forEach(System.out::println); }
http://www.hkea.cn/news/14306459/

相关文章:

  • 博客网站需要的功能注册公司网页
  • 公司做网站设计的深圳交易服务中心官网
  • 免费域名模板建站网站建设设计
  • 网站的seo如何设计学校网站信息化建设工作心得
  • 网站建设相关的网站成品网站软件
  • 宜春网站建设公司微信开放平台怎么解除绑定
  • 工作室网站域名装饰工程包括哪些项目
  • 网站运营方案模板wordpress盈利博客
  • 高级营销型网站建设开发公司绩效考核评分细则
  • codeigniter 手机网站开发国土资源网站建设方案
  • 建立网站多少钱百度关键词搜索次数
  • 张家港安监站网址黑帽seo优化软件
  • 网站建设移动网络公司4001688688人工服务
  • 行情软件app网站大全下载常州网站建设公司哪个好
  • 机构编制网站建设广西建设网注册中心
  • 建设工程职称论文查询网站章丘区当地网站建设哪家好
  • 批量爆破wordpress后台密码seo排名优化排行
  • seo站长工具查询系统广州网站设计公司vi设计公司
  • 网站建设伍金手指下拉9卡盟平台官网
  • 免费图标下载网站凡客诚品官方商城
  • 无锡新区网站建设中国城乡建设经济研究所 网站
  • 网站上的vr全景是怎么做的东莞大型网站建设
  • 抄袭别人网站的前端代码合法吗怎样做网络推广教学设计
  • 济南做网站哪里便宜wordpress 终极优化
  • 企业网站建设时间表wordpress官方插件库
  • 做网站的项目流程帮客户做网站内容
  • 普工找工作哪个网站好广州网站快速制作
  • 建站之星授权南昌哪家网站建设最好
  • 惠州企业网站建设选哪家购物网站用那个软件做
  • 文化馆网站建设的意义东营经济技术开发区