当前位置: 首页 / 技术分享 / 正文
JDK8新特性-Lambda表达式

2022-12-29

lambda 集合 表达式 语句   

  Lambda表达式是JDK8的一个新特性,Lambda可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK也提供了大量的内置函数式接口供我们使用,使得Lambda表达式的运用更加方便、高效。

  Lambda表达式由参数列表、箭头符号->和函数体组成。函数体既可以是一个表达式,也可以是一个语句块。其中表达式会被执行,然后返回执行结果;语句块中的语句会被依次执行,就像方法中的语句一样。

  Lambda表达式常用的语法格式如下表。

1

  接下来通过一个案例来学习Lambda表达式语法。

  import java.util.Arrays;

  public class Example28 {

  public static void main(String[] args) {

  String[] arr = {"program", "creek", "is", "a", "java", "site"};

  Arrays.sort(arr, (m, n) -> Integer.compare(m.length(), n.length()));

  System.out.println("Lambda语句体中只有一条语句,参数类型可推断:" + Arrays.toString(arr));

  Arrays.sort(arr, (String m, String n) -> {

  if (m.length() > n.length())

  return -1;

  else

  return 0;

  });

  System.out.println("Lambda语句体中有多条语句:" + Arrays.toString(arr));

  }

  }

  上述代码中,定义了一个字符串数组arr,使用了两种Lambda表达式语法对字符串数组arr进行了排序。其中,第一种是用compare()方法比较字符串的长度来进行排序;第二种是使用if…else语法比较字符串的长度来进行排序。

  8 本章小节

  本章详细介绍了几种Java常用集合类,首先介绍了集合的概念和Collection接口;其次介绍了List接口,包括ArrayList、LinkedList、Iterator和foreach循环;接着介绍了Set接口,包HashSet集合和TreeSet集合;然后Map接口,包括HashMap和TreeMap;最后介绍了泛型,包括泛型类、泛型对象、泛型接口和类型通配符。

  最后还介绍了JDK8的一个新特性——Lambda表达式。通过本章的学习,读者可以熟练掌握各种集合类的使用场景,以及需要注意的细节,同时可以掌握泛型与Lambda表达式的使用。

分享: 更多

上一篇:泛型类和泛型对象

下一篇:YARN的调度器

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
在线咨询
试听
入学教程
立即报名

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号