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

南通营销型网站建设营销软件商城

南通营销型网站建设,营销软件商城,网站设计到底做多宽,怎么自己做网站模板介绍 Java8中有两大最为重要的改变。第一个是 Lambda 表达式; 另外一个则是 Stream API(java.util.stream.*)。Stream是 Java8中处理集合的关键抽象概念#xff0c;它可以指定你希望对集合进行的操作#xff0c;可以执行非常复杂的查找、过滤和映射数据等操作。使用 Stream … 介绍 Java8中有两大最为重要的改变。第一个是 Lambda 表达式; 另外一个则是 Stream API(java.util.stream.*)。Stream是 Java8中处理集合的关键抽象概念它可以指定你希望对集合进行的操作可以执行非常复杂的查找、过滤和映射数据等操作。使用 Stream API 对集合数据进行操作就类似于使用 SQL执行的数据库查询。也可以使用Stream API来并行执行操作简而言之Stream API 提供了一种高效且易于使用的处理数据的方式。 流(Stream)到底是什么呢?是数据渠道用于操作数据源集合、数组等所生成的元素序列。“集合讲的是致据遏进的是让算*” 注意Stream 自己不会存储元素。Stream 不会改变源对象。相反他们会返回一个持有结果的新 Stream。Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。 生成 Stream 1/4 Collection体系集合 使用默认方法 stream() 生成流 default StreamE stream() ListString list new ArrayListString(); StreamString listStream list.stream();SetString set new HashSetString(); StreamString setStream set.stream();2/4 Map体系集合 把Map转成Set集合间接的生成流 MapString,Integer map new HashMapString, Integer(); StreamString keyStream map.keySet().stream(); StreamInteger valueStream map.values().stream(); StreamMap.EntryString, Integer entryStream map.entrySet().stream();3/4 数组 通过Arrays中的静态方法stream生成流 String[] strArray {hello,world,java}; StreamString strArrayStream Arrays.stream(strArray);4/4 同种数据类型的多个数据 通过Stream接口的静态方法of(T… values)生成流 StreamString strArrayStream2 Stream.of(hello, world, java); StreamInteger intStream Stream.of(10, 20, 30);Stream 流的中间操作 筛选与切片 多个中间操作可以连接起来形成一个流水线除非流水线上触发终止操作否则中间操作不会执行任何的处理!而在终止操作时一次性全部处理,称为“惰性求值”。filter接收Lambda从流中筛选出满足条件的元素。 过滤数据 // 留下满足条件的StreamT filter(Predicate predicate) StreamT stream list.stream().filter(s - s.startsWith(张));跳过不要前几个 StreamT skip(long n) StreamString s2 list.stream().skip(2);截取只取前几个 StreamT limit(long maxSize) StreamT stream list.stream().limit(3);实现分页 Integer currentPage 3; Integer pageSize 10; ListInteger collect list.stream().skip( (currentPage - 1) * pageSize ).limit(pageSize).collect(Collectors.toList());合并 static Stream concat(Stream a, Stream b) Stream.concat(s1,s2);去重 筛选通过流所生成元素的hashcode和equals去除重复元素要想实现成功必须实体类实现重写这两个方法Stream distinct() list.stream().distinct();Stream流终结操作方法 对此流的每个元素执行操作 void forEach(Consumer action) list.stream().forEach(System.out::println);返回此流中的元素数 long count() long count list.stream().count(); System.out.println(count);Stream流的收集操作 ListString names listStream.collect(Collectors.toList());SetInteger set stream.collect(Collectors.toSet());MapInteger, String map stream.collect(Collectors.toMap(s - s, s - 2 * s ));求和 如果是 double 类型 注意会遇到精度问题。so 不建议 double 类型的用这个方法。 long sum list.stream().mapToLong(e - e /** 可以指定具体字段 */).sum();ListProject list projectService.list(queryWrapper); // 总投资数 Long totalInvestment list.stream().mapToLong(Project::getTotalInvestment).sum();实操 将集合中的某一列拿出来组合成新的集合 ListInteger idList userList.stream().map(OrderUser::getPlatformUserId).collect(Collectors.toList());List 转 Set SetInteger idSet resourceObjectIdList.stream().collect(Collectors.toSet());映射 map接收Lambda , 将元素转换成其他形式或提取信息。接收一个函数作为参数该函数会被应用到每个元素上并将其映射成一个新的元素。 flatMap接收一个函数作为参数将流中的每个值都换成另一个流然后把所有流连接成一个流。 ListInteger list Arrays.asList(13, 23, 99, 1889, 87, 1000, 88, 2, 99);ListInteger collect list.stream().map(i - i 1).collect(Collectors.toList()); // [14, 24, 100, 1890, 88, 1001, 89, 3, 100]集合复制 ListCompanyChecks checksList //; ListCompanyChecksNameVO checksNameVOList checksList.stream().map(p - {CompanyChecksNameVO vo new CompanyChecksNameVO();BeanUtils.copyProperties(p, vo);return vo; }).collect(Collectors.toList());排序 public void test(){//自然排序ListString list Arrays.asList(aaa, eee, ddd, bbb);list.stream().sorted().forEach(System.out::println);//定制排序ListPerson list1 Arrays.asList(new Person(张三, 18, 2000.0),new Person(李四, 18, 5000.0),new Person(王五, 45, 8700.0),new Person(赵六, 42, 4200.0),new Person(陈七, 56, 13100.0));list1.stream().sorted((p1,p2) - {if (p1.getAge().equals(p2.getAge())){return p1.getSale().compareTo(p2.getSale());}else {return p1.getAge().compareTo(p2.getAge());}}).forEach(System.out::println); }ListInteger list Arrays.asList(13, 23, 99, 1889, 87, 1000, 88, 2, 99); // 默认 顺序 ListInteger collect list.stream().sorted().collect(Collectors.toList()); // [2, 13, 23, 87, 88, 99, 99, 1000, 1889]// 定制排序倒序 ListInteger collect list.stream().sorted((v1, v2) - v2 - v1).collect(Collectors.toList()); // [1889, 1000, 99, 99, 88, 87, 23, 13, 2]根据特定字段排序 正序 records records.stream() .sorted(Comparator.comparing(StudyReview::getReviewDate)) .collect(Collectors.toList());倒序 records records.stream() .sorted(Comparator.comparing(StudyReview::getReviewDate).reversed()) .collect(Collectors.toList());多个字段排序 list.stream().sorted(Comparator.comparing(User::getAge).thenComparing(User::getId).reversed()).forEach(System.out::println);
http://www.dnsts.com.cn/news/42300.html

相关文章:

  • 亚马逊店铺出售网站dedecms网站地图修改
  • 五屏网站建设如何赣州市城乡建设局网站
  • 论坛建站wordpress加跳转
  • 贵阳住房和城乡建设局网站东莞网站推广衣裙
  • 专做外贸的网站有哪些wordpress 计算器插件
  • 网站没有备案找客源用哪个软件好
  • 建设企业网站的重要性重庆网站建设培训学校
  • 个人网站-个人主页作业免费注册163免费邮箱个人
  • 为您打造高端品牌网站wordpress自动优化插件
  • 成都德阳网站建设去除wordpress 广告
  • 网站建设的功能模块wordpress后台中文设置
  • 有培训做网站 小程序的学校网站建设需求分析报告功能
  • 公司网站建设备选方案评价标准上海专业网站建设报
  • 个人网页设计思路智能网站排名优化
  • 一朋友做网站网站被抓了生鲜网站建设背景
  • 月子会所网站建设方案现在网站开发用什么
  • 在线企业建站服务网站设计人员就业要求
  • 展示网站方案网站下方链接图标怎么做
  • 网站搜索引擎优化怎么做网站建设安全技术方面
  • 福田网站建设深圳信科一份完整的市场调查方案
  • 深圳网站设计按天收费网站建设公司高端
  • 怎么利用自媒体做网站优化高端网站制作的公司
  • 烟台网站建设托管做网站的外包公司上班好不好
  • 郑州网站建设方案网站的费用可以做无形资产吗
  • 电商网站开发人员菏泽专业网站开发公司
  • 网站建设 镇江万达网站的二级网页关键词
  • 建设网站哪家公司比较好网站建设那里
  • 网站主机多大外贸网站空间
  • 做ppt好的网站加强网站的建设与管理
  • 专注咖啡相关的网站做平面什么网站好用