Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java ส่ง Lambda Expression เป็นอาร์กิวเมนต์ของเมธอด


ในบทความนี้ เราจะทำความเข้าใจวิธี ส่ง Lambda Expression เป็นอาร์กิวเมนต์ของเมธอด ใน Java 8+

Lambda Expression คือบล็อกโค้ดสั้นๆ ที่รับพารามิเตอร์และคืนค่า ใช้ร่วมกับ Functional Interface เช่น forEach, stream, map

ตัวอย่าง Input และ Output

Input:

("Apple", "Orange", "Grapes")

Output:

elppA, egnarO, separG

(แต่ละคำถูกกลับลำดับตัวอักษร)

อัลกอริธึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - Import Package ที่จำเป็น (ArrayList, Arrays)
ขั้นตอนที่ 3 - ใน main สร้าง ArrayList ข้อมูล
ขั้นตอนที่ 4 - แสดงข้อมูลต้นฉบับ
ขั้นตอนที่ 5 - ใช้ forEach พร้อม Lambda (e) -> { ... } วนลูปแต่ละสมาชิก
ขั้นตอนที่ 6 - ใน Lambda: กลับลำดับตัวอักษรของแต่ละคำ แล้วพิมพ์
ขั้นตอนที่ 7 - แสดงผลลัพธ์

ตัวอย่างที่ 1: กลับลำดับคำใน ArrayList

import java.util.ArrayList;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        ArrayList Fruits = new ArrayList<>(Arrays.asList("Apple", "Orange", "Grapes"));
        System.out.println("The ArrayList is defined as : " + Fruits);
        System.out.print("The Reversed ArrayList is: ");
        Fruits.forEach((e) -> {
            String result = "";
            for (int i = e.length() - 1; i >= 0; i--)
                result += e.charAt(i);
            System.out.print(result + ", ");
        });
    }
}

Output

The ArrayList is defined as : [Apple, Orange, Grapes]
The Reversed ArrayList is: elppA, egnarO, separG,

ตัวอย่างที่ 2: ใช้กับข้อมูลอื่น

import java.util.ArrayList;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        ArrayList Games = new ArrayList<>(Arrays.asList("Football", "Cricket", "Baseball"));
        System.out.println("The ArrayList is defined as : " + Games);
        System.out.print("The Reversed ArrayList is: ");
        Games.forEach((e) -> {
            String result = "";
            for (int i = e.length() - 1; i >= 0; i--)
                result += e.charAt(i);
            System.out.print(result + ", ");
        });
    }
}

Output

The ArrayList is defined as : [Football, Cricket, Baseball]
The Reversed ArrayList is: llabtooF, tekcirC, llabesaB,