在Java中,Lambda表達式是一種簡潔的表示匿名函數(沒有函數名的函數)的方法
以下是如何在Java中使用Lambda表達式的一些基本步驟:
java.util.function.Function<T, R>
是一個接受一個輸入參數并返回結果的函數式接口。import java.util.function.Function;
public class LambdaExample {
public static void main(String[] args) {
// 使用Lambda表達式實現Function接口
Function<Integer, Integer> square = x -> x * x;
// 調用Function接口的apply方法
int result = square.apply(5);
System.out.println("The square of 5 is: " + result);
}
}
Function
、Consumer
、Predicate
等,位于java.util.function
包中。import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.function.Predicate;
public class LambdaExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 使用Lambda表達式過濾偶數
Predicate<Integer> isEven = x -> x % 2 == 0;
List<Integer> evenNumbers = numbers.stream()
.filter(isEven)
.collect(Collectors.toList());
System.out.println("Even numbers: " + evenNumbers);
}
}
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class LambdaExample {
public static void main(String[] args) {
List<String> strings = Arrays.asList("one", "two", "three", "four", "five");
// 使用方法引用將所有字符串轉換為大寫
List<String> upperCaseStrings = strings.stream()
.map(String::toUpperCase)
.collect(Collectors.toList());
System.out.println("Upper case strings: " + upperCaseStrings);
}
}
這些示例展示了如何在Java中使用Lambda表達式。請注意,由于Lambda表達式主要用于簡化代碼和提高可讀性,因此在適當的情況下使用它們會非常有用。