码迷,mamicode.com
首页 > 编程语言 > 详细

java8新特性

时间:2020-10-27 11:00:04      阅读:21      评论:0      收藏:0      [点我收藏+]

标签:equal   foreach   间隔   距离   group   断言   截断   iter   lis   

lambda四大内置核心函数式接口:

Consumer<T> :消费性接口

  void accept(T t);

Suppiler<T>:供给性接口

  T get();

Function<T,R>:函数型接口

  R apply(T t);

Predicate<T> :断言型接口

  boolean test(T t);

时间和日期得处理:

1.LocalDate LocalTime localDateTime

得到当前得时间

2、Instant

时间戳偏移量距离我们得时间是8,获取得是UTC时区

3、Duration

计算俩个时间之间得间隔

4、Period

计算俩个日期之间得间隔

流的操作(Stream)

流得三个步骤:

建立流:

  建立方式:

  数组得话用Arrarys.asList作为list或者直接用

 Arrays.stream(employees)

,然后变成集合用.stream().如果是集合得话直接用.stream();

  

  //通过Collection系列提供Stream  和里面的.stream方法
        List<String > strings=new ArrayList<>();
        Stream<String> stringStream=strings.stream();

        //通过Arrarys里面的静态方法stream
        Employee[] employees=new Employee[10];
        Stream<Employee> employees1=  Arrays.stream(employees);

        //通过Stream中的of方法
        Stream<String > stringStream1=Stream.of("dsag","gfdgfh","uerbg");

        //创建无限流
        Stream<Integer> stream=Stream.iterate(2,(x)->x+2);
        stream.limit(10).forEach(System.out::println);

 

中间操作:

筛选与切片:

filter:接受lambda,从流中排除某些元素;

limit:截断流,使其元素不超过给定数量

skip(n)跳过元素,返回一个扔掉了前n个元素得流。若流中元素不足n个,则返回一个空流,与limit(n)互补;

distinct :筛选,通过流所生成得元素得hashCode和equals去除重复元素。

map :映射,接受lambda,将元素转化成其他形式或者提取信息,接受一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素;(用map把要的项提取出来,不是过滤,过滤不会提取某一项出来)

flatMap: 接受一个函数作为参数,将每个值都换成另一个流,然后将所有流连接成一个流;

sort() 自然排序

sort(Comparator com)--定制排序.

(中间操作得话返回得式一个流,但是没有)

终止操作:

reduce():归约,reduce(T identity,BinaryOperator)/reduce(BinaryOperator)可以将流中元素反复结合起来,得到一个值。reduce(Double::sum)

collect():收集,将流转化为其他形式,接受一个Collector接口得实现,用于给Stream中元素做汇总得方法。

Collectors.求和得、平均数得、最大值,最小值、总数得,转换成list得,转化成map得。都有对应得方法。.foreach对其中得每一个进行操作。

groupingBy: 分组,一个参数就是分组,俩个参数,第二个参数是进一步分组。

然后Collectors.summarzingdouble/int()这个用变量接了之后又求求和得、平均数得、最大值,最小值、总数得方法在。

Collectors.joining: 连接

 

java8新特性

标签:equal   foreach   间隔   距离   group   断言   截断   iter   lis   

原文地址:https://www.cnblogs.com/chenjiaolong/p/13748588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!