1.新增概念:stream、lambda、函数式编程

2.函数式接口(@functionalInterface):只包含一个方法的接口,但可以有默认(default)方法

lambda的本质是实现了函数式接口唯一方法的实现类,只有一个方法才不需要指定

3.lambda无法单独出现,需要一个函数式接口来盛放

4.forEach实现了内部迭代

外部迭代:显式地进行迭代操作,集合元素的访问由外部控制

5.几个常用迭代的时间:

for(String s : list)        : 50134

for(int i = 0; i < list.size(); i++)        : 74608

for(Iterator iterator = list.iterator; iterator.hasnext();)        : 476464

list.forEach(System.out::println)        : 1357154

list.forEach(e -> System.out.println(e))        : 87608685

6.java 1.5:泛型、注解、concurrent并发包

java 1.8:lambda表达式、stream

7.lambda表达式是语法糖,为了简化语句、配合stream使用,取代冗长的内部类定义

语法糖:编译器推断出此处需要参数列表 -> 函数体

8.new Thread( new Runnable() {

public void run() {

System.out.println("truth");

}

}).start();

Thread需要一个实现run方法的类 ---> 取消 new Runnable ---> 取消 public void run ---> () -> { }

9.Predicate:谓词

java8添加了util.function包,里面包含多个新的@functionalInterface函数式接口,所谓匿名内部类就是其一个实现

10.匿名内部类:

1.方法引用:有了实现,直接引用方法

但是有了类似Runnable()的实现,new Thread(new Runnable)和new Thread(new Runnable::run)有区别吗。。。好像运行时间会缩短

方法引用不能是一个单独的方法,必须是 “实现类::方法名“

2.lambda:函数式接口只有一个方法,编译器自动识别补全代码

11.lambda表达式又被称为闭包、匿名函数

12.map:将集合类进行转换,一一映射

reduce:将所有值合并为一个,折叠操作;max、min、sum等都是

13.申明变量:父类 = 子类实现

因为必须能够使用所申明变量的所有方法

14.lambda表达式必须使用外界的final类型变量,因为内部类使用外部变量时必须为final类型

可见,lambda是内部类具体方法的实现

java1.8的特性,java1.8新特性相关推荐

  1. java6特性_Java6的新特性

    Java语言特性系列 序 本文梳理了下java6的新特性,相对于java5而言,java6的特性显得少些,分量也不那么重,相当于java5是windows xp,java6有点像vista. 特性列表 ...

  2. 浅谈php7的重大新特性_PHP7的新特性和源码结构

    一.PHP7的新特性 返回值类型声明 类型声明有两种模式: 弱类型校验模式(默认):当传入的参数不符合声明类型时,会首先尝试转换类型. 严格类型校验模式:当传入的参数不符合声明类型时,直接报错. 声明 ...

  3. c++11新特性_c++11新特性(四)

    4.lambda.bind.function 4.1.直接lambda表达式 lamda表达式不仅仅是一个语法新特性,对于没有用过java或C#lamda表达式读者,C++11的lamda表达式在一定 ...

  4. jdk8新特性(接口新特性、lambda表达式、方法引用、函数式接口、Stream流)和单例设计模式

    1.单例设计模式 1.概念: 设计模式:使用固有的流程或方式设计出来的类接口.枚举等元素 2.设计原则: 1.私有化构造方法[private.protected] 2.类中创建最终对象[唯一不能被赋值 ...

  5. ES11新特性_Promise.allSettled---JavaScript_ECMAScript_ES6-ES11新特性工作笔记062

    然后我们来看一下es11中的这个Promise.allSettled这个新特性. 这个东西是个数组,但是他的数组元素是promise对象 可以看到,我们上面做了两个promise对象 然后我们调用Pr ...

  6. input html5 新特性,html5 input 新特性

    HTML5 拥有多个新的表单输入类型.这些新特性提供了更好的输入控制和验证. 介绍这些新的输入类型: email url number range Date pickers (date, month, ...

  7. 【JavaSE】JDK新特性(二)————接口新特性,函数式接口(Suppier,Comsumer,Predicate,Function)

    文章目录 1.接口新特性 1.1 接口组成更新概述 1.2 接口中的默认方法 1.3 接口中的静态方法 1.4 接口中的私有方法 2. 函数式接口 2.1 函数式接口概述 2.2 函数式接口作为方法的 ...

  8. php8最新版本特性,PHP8 了解新特性

    php 8.0 五大更新重点 效能提升 语法扩充 弹性强类别 更加严谨 调节内套件与新增函数 性能测试图表 1607602943417.jpg PHP 8.0 值得关注的改进 PHP 8.0 引入了 ...

  9. JDK1.8新特性及常用新特性

    JDK1.8的新特性 *Lambda表达式 新的日期API--Date time 引入Optional--防止空指针异常 *接口的默认方法和静态方法 *新增方法引用格式 *新增Stream类 注解相关 ...

  10. php7.4新特性 多线程,PHP7新特性WhatwillbeinPHP7/PHPNG

    PHP7将在2015年10月正式发布,我们来看看官网给出的php7 特性 官网: http://www.php7.ca/ https://wiki.php.com/phpng PHP7新特性( Wha ...

最新文章

  1. 基于C++的图像散度计算
  2. 人工智能在电力系统的应用(PPT)
  3. 深入卷积神经网络背后的数学原理
  4. 网站推广——网站推广专员面对新站收录展开多角度思考
  5. Hibernate工作原理(1)
  6. 我的webpack配置文件
  7. mkdir用大括号同时建立多个同级和下级目录
  8. 智慧职教云Java题库_智慧职教作业的答案,云课堂智慧职教java职业证书题库答案,职教云智慧职教题库答案...
  9. 5g和芯片有什么关系
  10. 360 面试 一面+二面
  11. 吴恩达-机器学习-多元线性回归模型代码
  12. [敛火成丹]Win11Dev-25236.1010专业工作站版-微调
  13. python 推导式练习题
  14. ArchiCAD与Revit深度对比
  15. 新手做网站优化要思考三个本质问题!
  16. SAP ERP系统排名?SAP ERP办公系统怎么选?什么是用户口碑最好的SAP ERP系统?
  17. jsp----前后端分离---框架---web应用的构建
  18. 黄色或微黄色油状物DBCO-PEG5-Acid,DBCO-PEG5-COOH,Azadibenzocyclooctyne-PEG5-acid的化学性质
  19. ISO20000的产生和意义
  20. 集装箱储能系统本地服务器,0.5MW-1MWh集装箱储能系统方案

热门文章

  1. 并发下HashMap头插会造成死循环情况说明
  2. Java中字符串以小数点分割时无效,String s = “12.34“; String[] ss = split(“.“);分割结果为空
  3. centos7.9 搭建GitLab服务器
  4. jsp中文件下载的实现
  5. Dijkstra算法求最短路径(java)
  6. Vue项目报错记录解决Property or method “item“ is not defined on the instance
  7. python简单爬虫手机号_python手机号前7位归属地爬虫代码实例
  8. 2013NOIP普级组-- 小朋友的数字
  9. 4.2.4 OS之磁盘管理(磁盘初始化、引导块、坏块的管理)
  10. keras concatenate_Keras结合Keras后端搭建个性化神经网络模型