Lambda表达式是Java 8中引入的一个重要特性,它允许开发者以更简洁的方式编写匿名函数,使得代码更加紧凑和易读。Lambda表达式是函数式编程的一种体现,可以将函数作为方法的参数传递,并且可以使用更简洁的语法实现函数式接口(只有一个抽象方法的接口)的实例化。Lambda表达式的语法形式为 (参数列表) -> {表达式或语句块}。
下面是五个Java中使用Lambda表达式的案例:
案例一:排序列表
javaCopy code
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");// 使用Lambda表达式进行排序names.sort((a, b) -> a.compareTo(b));
案例二:遍历集合
javaCopy code
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);// 使用Lambda表达式遍历集合numbers.forEach(num -> System.out.println(num));
案例三:使用函数式接口
javaCopy code
// 自定义一个函数式接口interfaceMathOperation { intoperate(int a, int b); } // 使用Lambda表达式实现函数式接口MathOperationadd= (a, b) -> a + b;MathOperationsubtract= (a, b) -> a - b; // 使用Lambda表达式调用函数式接口方法intresult1= add.operate(5, 3);intresult2= subtract.operate(10, 7);
案例四:线程创建
javaCopy code
// 使用Lambda表达式创建线程Threadthread=newThread(() -> { for (inti=0; i < 5; i++) { System.out.println("Thread is running"); } }); thread.start();
案例五:筛选数据
javaCopy code
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);// 使用Lambda表达式筛选出偶数List<Integer> evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList());
这些案例展示了Lambda表达式在Java中的灵活应用,使代码更简洁、高效。在实际开发中,Lambda表达式可以用于简化代码、实现函数式编程以及在集合操作等场景中提高代码的可读性和性能。