java list作为参数传递_Java 程序将lambda表达式作为方法参数传递

Java 程序将lambda表达式作为方法参数传递

在此示例中,我们将学习将lambda表达式作为Java中的方法参数传递。

要理解此示例,您应该了解以下Java编程主题:

示例1:将lambda表达式定义为方法参数

示例import java.util.ArrayList;

class Main {

public static void main(String[] args) {

//创建一个ArrayList

ArrayList languages = new ArrayList<>();

//向ArrayList添加元素

languages.add("java");

languages.add("swift");

languages.add("python");

System.out.println("ArrayList: " + languages);

//将lambda表达式作为参数传递给replaceAll()方法

languages.replaceAll(e -> e.toUpperCase());

System.out.println("更新后的 ArrayList: " + languages);

}

}

输出结果ArrayList: [java, swift, python]

更新后的 ArrayList: [JAVA, SWIFT, PYTHON]

在上面的示例中,我们创建了一个名为languages的数组列表。注意这一行,languages.replaceAll(e -> e.toUpperCase());

这里,e -> e.toUpperCase()是lambda表达式。它接受arraylist的所有元素,并将它们转换为大写。

示例2:将多行lambda主体作为函数参数传递

示例import java.util.ArrayList;

import java.util.Arrays;

class Main {

public static void main(String[] args) {

//创建一个ArrayList

ArrayList languages = new ArrayList<>(Arrays.asList("java", "python"));

System.out.println("ArrayList: " + languages);

//调用forEach()方法

//将lambda作为参数传递给forEach()

//反转ArrayList的每个元素

System.out.print("反转后的 ArrayList: ");

languages.forEach((e) -> {

//Lambda表达式主体

String result = "";

for (int i = e.length()-1; i >= 0 ; i--)

result += e.charAt(i);

System.out.print(result + ", ");

});

}

}

输出结果ArrayList: [java, python]

反转后的 ArrayList: avaj, nohtyp,

在上面的示例中,我们创建了一个名为 languages 的arraylist。注意这一行,languages.forEach((e) -> {

//Lambda 表达式体

String result = "";

for (int i = e.length()-1; i >= 0 ; i--)

result += e.charAt(i);

System.out.print(result + ", ");

});

在这里,我们将lambda表达式作为参数传递给ArrayList forEach()方法。lambda表达式将反转arraylist的每个元素。

你可能感兴趣的:(java,list作为参数传递)