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

网站建设 天津小公司做网站用哪种服务器

网站建设 天津,小公司做网站用哪种服务器,wordpress 谷歌云,如何将网站添加到信任站点一、Stream API 说明 Java8中有两大最为重要的改变。第一个是 Lambda 表达式#xff1b;另外一个则是 Stream API。 Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充#xff0c;因为Stream API可以极大提供Ja…一、Stream API 说明 Java8中有两大最为重要的改变。第一个是 Lambda 表达式另外一个则是 Stream API。        Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充因为Stream API可以极大提供Java程序员的生产力让程序员写出高效率、干净、简洁的代码。        Stream 是 Java8 中处理集合的关键抽象概念它可以指定你希望对集合进行的操作可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream API 对集合数据进行操作就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简言之Stream API 提供了一种高效且易于使用的处理数据的方式 二、为何使用Stream API  实际开发中项目中多数数据源都来自于MysqlOracle等。但现在数据源可以更多了有MongDBRadis等而这些NoSQL的数据就需要Java层面去处理。      Stream 和 Collection 集合的区别Collection 是一种静态的内存数据结构而 Stream 是有关计算的。前者是主要面向内存存储在内存中后者主要是面向 CPU通过 CPU 实现计算 三、什么是 Stream  它是数据渠道用于操作数据源集合、数组等所生成的元素序列。 “集合讲的是数据Stream讲的是计算 注意 ①Stream 自己不会存储元素。 ②Stream 不会改变源对象。相反他们会返回一个持有结果的新Stream。 ③Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。  四、Stream 的操作三个步骤  1- 创建 Stream         一个数据源如集合、数组获取一个流  2- 中间操作         一个中间操作链对数据源的数据进行处理  3- 终止操作( 终端操作)         一旦执行终止操作就执行中间操作链并产生结果。之后不会再被使用 4.1创建Stream的方式  一、通过集合来创建 Stream Java8 中的 Collection 接口被扩展提供了两个获取流的方法  default StreamE stream() : 返回一个顺序流default StreamE parallelStream() : 返回一个并行流//可以通过 Collection 系列集合提供的 stream() 顺序流ListString listArrays.asList(张三,李飞,刘霞,陈博);StreamString stream1list.stream();stream1.forEach(System.out::println);System.out.println(*****************************); // 可以通过 Collection 系列集合提供的 parallelStream() 并行流StreamString stream2list.parallelStream();stream2.forEach(System.out::println); 二、通过数组来创建 Stream Java8 中的 Arrays 的静态方法 stream() 可以获取数组流  static T StreamT stream(T[] array): 返回一个流 重载形式能够处理对应基本类型的数组  public static IntStream stream(int[] array)  public static LongStream stream(long[] array)  public static DoubleStream stream(double[] array) 注意学生类姓名年龄自己创建。 //通过Arrays中的静态方法 stream()获取一个数组流Student[] students new Student[3];students[0]new Student(mike,18);students[1]new Student(john,20);students[2]new Student(peter,16);StreamStudent stream Arrays.stream(students);stream.forEach(System.out::println); 三、通过Stream的of来创建 Stream 可以调用Stream类静态方法 of(), 通过显示值创建一个流。它可以接收任意数量的参数。     public staticT StreamT of(T... values) : 返回一个流 Student[] students new Student[3];students[0]new Student(mike,18);students[1]new Student(john,20);students[2]new Student(peter,16);//通过Stream的静态方法 of()StreamStudent streamStream.of(students);stream.forEach(System.out::println); 四、通过无限流来创建 Stream  可以使用静态方法 Stream.iterate() 和 Stream.generate(),创建无限流。  迭代         public staticT StreamT iterate(final T seed, final UnaryOperatorT f) 生成         public staticT StreamT generate(SupplierT s)  // Stream.iterate 创建Stream stream4 Stream.iterate(10, i - i10);stream4.limit(5).forEach(System.out::println);System.out.println(**************************);// Stream.generate 创建Stream stream3 Stream.generate(()- 88);stream3.limit(5).forEach(System.out::println); 4.2中间操作 多个中间操作可以连接起来形成一个流水线除非流水线上触发终止操作否则中间操作不会执行任何的处理而在终止操作时一次性全部处理称为“惰性求值”。 1-筛选和切片 //使用filter过滤集合中的奇数ListInteger list Arrays.asList(89,15,88,19,33,24,30);list.stream().filter(num-num%2!0).forEach(System.out::println);System.out.println(---------------------);//使用distinct去掉重复的字符串ListString list1 Arrays.asList(boy,happy,girl,happy,boy,boy);list1.stream().distinct().forEach(System.out::println );System.out.println(---------------------);//使用skip,limit跳过前两个的前三个元素ListInteger list2 Arrays.asList(10,20,30,40,50,60,70,80);list2.stream().skip(2).limit(3).forEach(System.out::println);int n3;StreamInteger integerStream Stream.of(10, 20, 30, 40, 50, 60);//跳过前n个非负元素返回剩下的流有可能为空流。integerStream.skip(n).forEach(integer - System.out.println(num integer));System.out.println(--------------------------);n3;StreamInteger st2 Stream.of(10, 20, 30, 40, 50, 60);// 当 n 0 时直接抛出了 IllegalArgumentException 异常。// 当 n0 时返回一个空流。// 当 n3 时打印了 前3个元素// 当 n7 时打印了所有元素st2.limit(n).forEach(integer - System.out.println(num integer)); skip与limit区别 skip  必须时刻监测流中元素的状态。才能判断是否需要丢弃。所以 skip 属于状态作。  limit 只关心截取的是不是其参数 maxsize 最大区间值其它毫不关心。一旦达到就立马中断操作返回流。所以 limit 属于一个中断操作。 2-映射 // 在Java 8 中如何使用Stream将List转换为Map使用Collectors.toMap方法进行转换。//1、指定key-valuevalue是对象中的某个属性值。ListStudent listArrays.asList(new Student(mike,22),new Student(zhang,20),new Student(john,21));MapString,Integer stuMaplist.stream().collect(Collectors.toMap(Student::getName,Student::getAge));System.out.println(stuMap);// 2、指定key-valuevalue是对象本身Student-Student 是一个返回本身的lambda表达式MapString,Student stuMap2list.stream().collect(Collectors.toMap(Student::getName,Student-Student));System.out.println(stuMap2);// 3、指定key-valuevalue是对象本身Function.identity()是简洁写法也是返回对象本身 (同2)MapString,Student stuMap3list.stream().collect(Collectors.toMap(Student::getName, Function.identity()));System.out.println(stuMap3);//计算所有平均年龄System.out.println(list.stream().mapToInt(Student::getAge).average().getAsDouble()); 3-排序 System.out.println(---Natural Sorting by Name---);ListStudent list Arrays.asList(new Student(mike,22),new Student(zhang,20),new Student(john,21));list.forEach(s - System.out.println( Name: s.getName(), Age:s.getAge()));System.out.println(\n---Sorting using Comparator by Age---);listlist.stream().sorted(Comparator.comparing(Student::getAge)).collect(Collectors.toList());list.forEach(s - System.out.println( Name: s.getName(), Age:s.getAge()));System.out.println(\n---Sorting using Comparator by Age with reverse order---);listlist.stream().sorted(Comparator.comparing(Student::getAge).reversed()).collect(Collectors.toList());list.forEach(s - System.out.println( Name: s.getName(), Age:s.getAge())); 4.3Stream 的终止操作 注map 和 reduce 的连接通常称为 map-reduce 模式因 Google用它来进行网络搜索而出名。 Collector 接口中方法的实现决定了如何对流执行收集的操作(如收集到 List、Set、Map)。 另外 Collectors 实用类提供了很多静态方法可以方便地创建常见收集器实例 具体方法与实例如下表
http://www.dnsts.com.cn/news/98348.html

相关文章:

  • 免费做试用的网站甘肃建投土木工程建设有限公司网站后台
  • 网站建设的架构网站建设实践
  • html网站设计实验报告电商网站建设选迅法网
  • 巴中建设网站网站开发公司职位
  • 个人网站开发需求分析门户网站做等级保护测评
  • 做商城类的网站需要做些什么建盏厂家
  • 东莞做网站哪个公司好开淘宝网店
  • 单页营销网站模板网站形象首页flash
  • 江门地区网站建设公司软件商城官网
  • 企业做不做网站的坏处加拿大广播公司
  • 网站开发汇报ppt模板设计公司品牌策划
  • 免费设计网站平台商标注册查询app
  • 东莞哪些网络公司做网站比较好手机网站底部导航代码
  • 网站优化原理全民消防平台小程序
  • 飞鸽网站建设展馆设计费用取费标准
  • 网站备案名称必须是公司名沧州seo
  • 网站建设乐云seo塘沽网红餐厅
  • 字母logo设计网站零基础网站建设书籍
  • 做网站哪些方面会侵权网站优化建设山东
  • 网站的搜索框如何做手机网站制作公司选哪家
  • 专业的网站建设公司排名网站建设人员分工
  • 邮箱的官方网站注册链家网
  • 加盟网站做推广怎么收费快速设计网站
  • 信阳市两学一做网站基于node网站毕设代做
  • 怎么做直播网站vue.js做个人网站
  • 网站建设对企业的发展一般使用的分辨率是多少dpi?
  • 网站页面框架设计影响用户WordPress部分内容登录可见
  • 电子商务网站设计小结长沙市做网站公司
  • .net做的网站旺店通app手机企业版下载
  • 重庆市网站备案厦门百度竞价开户