Java Lambda 表达式是Java 8引入的一个重要特性,用于简化编写函数式接口(Functional Interface)的匿名内部类的语法。Lambda 表达式允许您以更紧凑和易读的方式编写代码,特别是在处理集合框架中的数据时非常有用。
Lambda表达式的语法结构如下:
(parameter1, parameter2, ...) -> {
// lambda体
// 可以是单个表达式或者代码块
}
其中,参数列表可以为空或包含一个或多个参数,箭头"->"将参数列表与lambda体分隔开来。Lambda体可以是一个单独的表达式或一个代码块。
下面是几个Java Lambda表达式的示例:
简单的Lambda表达式
() -> System.out.println("Hello, Lambda!");
这个Lambda表达式没有参数,lambda体中打印了一条简单的消息。
Lambda表达式与函数式接口
Function<Integer, Integer> square = (x) -> x * x;
int result = square.apply(5); // 输出25
这个Lambda表达式接受一个整数参数并返回其平方。函数式接口Function定义了Lambda表达式的类型,通过调用apply方法执行Lambda表达式。
Lambda表达式与集合操作
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach((number) -> System.out.println(number));
这个Lambda表达式遍历一个整数列表并打印每个元素。
使用Lambda表达式进行排序
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave");
Collections.sort(names, (a, b) -> a.compareTo(b));
这个Lambda表达式将一个字符串列表按字母顺序进行排序。
Lambda表达式可以用于许多Java API,包括集合操作、线程处理、GUI事件处理等,它简化了代码的编写,并提升了代码的可读性和灵活性。