2022-12-29
lambda 集合 表达式 语句
Lambda表达式是JDK8的一个新特性,Lambda可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK也提供了大量的内置函数式接口供我们使用,使得Lambda表达式的运用更加方便、高效。
Lambda表达式由参数列表、箭头符号->和函数体组成。函数体既可以是一个表达式,也可以是一个语句块。其中表达式会被执行,然后返回执行结果;语句块中的语句会被依次执行,就像方法中的语句一样。
Lambda表达式常用的语法格式如下表。
接下来通过一个案例来学习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表达式的使用。
开班时间:2021-04-12(深圳)
开班盛况开班时间:2021-05-17(北京)
开班盛况开班时间:2021-03-22(杭州)
开班盛况开班时间:2021-04-26(北京)
开班盛况开班时间:2021-05-10(北京)
开班盛况开班时间:2021-02-22(北京)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2020-09-21(上海)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2019-07-22(北京)
开班盛况Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号