English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمات Java الأساسية

Java التحكم بالعمليات

Java الأعداد

Java التوجيه بالأوبجكت (I)

Java التوجيه بالأوبجكت (II)

Java التوجيه بالأوبجكت (III)

معالجة الاستثناء Java

Java القوائم (List)

Java Queue (الطوابير)

Java مجموعات Map

Java مجموعات Set

Java إدخال/إخراج (I/O)

Java Reader/Writer

Java الآخرية المواضيع

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

مجموعة كاملة من أمثلة Java

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

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

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

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //创建一个ArrayList
        ArrayList<String> 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<String> 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 = "";
      للتحويل (int i = e.length() - 1; i >= 0; i--)
      result += e.charAt(i);
      System.out.print(result + ", ");
    });
  }
}

نتائج الإخراج

ArrayList: [java, python]
ArrayList مقلوبة: avaj, nohtyp,

في المثال السابق، قمنا بإنشاء ArrayList يحمل الاسم languages. لاحظ هذه السطر،

    languages.forEach((e) -> {
      // جسم Lambda التعبير
      String result = "";
      للتحويل (int i = e.length() - 1; i >= 0; i--)
      result += e.charAt(i);
      System.out.print(result + ", ");
    });

في هذا المثال، سنقوم بتحويل Lambda كمعامل لـArrayList forEach()الطريقة Lambda تعبر عن تحويل كل عنصر من ArrayList.

مجموعة كاملة من أمثلة Java