在此示例中,我們將學(xué)習(xí)將lambda表達(dá)式作為Java中的方法參數(shù)傳遞。
要理解此示例,您應(yīng)該了解以下Java編程主題:
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
//創(chuàng)建一個(gè)ArrayList
ArrayList<String> languages = new ArrayList<>();
//向ArrayList添加元素
languages.add("java");
languages.add("swift");
languages.add("python");
System.out.println("ArrayList: " + languages);
//將lambda表達(dá)式作為參數(shù)傳遞給replaceAll()方法
languages.replaceAll(e -> e.toUpperCase());
System.out.println("更新后的 ArrayList: " + languages);
}
}輸出結(jié)果
ArrayList: [java, swift, python] 更新后的 ArrayList: [JAVA, SWIFT, PYTHON]
在上面的示例中,我們創(chuàng)建了一個(gè)名為languages的數(shù)組列表。注意這一行,
languages.replaceAll(e -> e.toUpperCase());
這里,e -> e.toUpperCase()是lambda表達(dá)式。它接受arraylist的所有元素,并將它們轉(zhuǎn)換為大寫。
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
//創(chuàng)建一個(gè)ArrayList
ArrayList<String> languages = new ArrayList<>(Arrays.asList("java", "python"));
System.out.println("ArrayList: " + languages);
//調(diào)用forEach()方法
//將lambda作為參數(shù)傳遞給forEach()
//反轉(zhuǎn)ArrayList的每個(gè)元素
System.out.print("反轉(zhuǎn)后的 ArrayList: ");
languages.forEach((e) -> {
//Lambda表達(dá)式主體
String result = "";
for (int i = e.length()-1; i >= 0 ; i--)
result += e.charAt(i);
System.out.print(result + ", ");
});
}
}輸出結(jié)果
ArrayList: [java, python] 反轉(zhuǎn)后的 ArrayList: avaj, nohtyp,
在上面的示例中,我們創(chuàng)建了一個(gè)名為 languages 的arraylist。注意這一行,
languages.forEach((e) -> {
//Lambda 表達(dá)式體
String result = "";
for (int i = e.length()-1; i >= 0 ; i--)
result += e.charAt(i);
System.out.print(result + ", ");
});在這里,我們將lambda表達(dá)式作為參數(shù)傳遞給ArrayList forEach()方法。lambda表達(dá)式將反轉(zhuǎn)arraylist的每個(gè)元素。