使用Lambda表示式從現有列表建立包含新值的新列表的Java程式
在本文中,我們將演示如何使用Lambda表示式從現有的Employee物件列表中建立一個新的員工姓名列表。我們將利用Java的Stream API高效地對映員工資料並將其收集到一個新的列表中。
Lambda表示式:Lambda表示式透過使用函式式介面(只有一個方法的介面)簡化了函數語言程式設計。Lambda表示式提供了一種簡單的方法來實現此方法。
步驟
以下是使用Lambda表示式從現有列表建立包含新值的新列表的步驟:
- 從java.util包匯入必要的類。
- 定義一個包含Employee物件的列表,其中包含姓名、年齡和區域資訊。
- 應用一個Lambda函式從員工列表中提取姓名。
- 使用stream()、map()和collect()方法生成一個新的姓名列表。
- 顯示員工姓名列表。
Java Lambda:從現有列表建立新列表
以下是使用Lambda表示式從現有列表建立包含新值的新列表的Java程式:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.function.Function; import java.util.stream.Collectors; public class Demo { public static void main(String[] args) { Listemp = new ArrayList<>(Arrays.asList( new Employee("Jack", 29, "South"), new Employee("Tom", 24, "North"), new Employee("Harry", 35, "West"), new Employee("Katie", 32, "East") )); Function getName = Employee::displayEmpName; List res = emp.stream() .map(getName) .collect(Collectors.toList()); System.out.println("Employee Names = " + res); } } class Employee { private String emp_name; private int emp_age; private String emp_zone; public Employee(String emp_name, int emp_age, String emp_zone) { this.emp_name = emp_name; this.emp_age = emp_age; this.emp_zone = emp_zone; } public String displayEmpName() { return this.emp_name; } }
輸出
Employee Names = [Jack, Tom, Harry, Katie]
程式碼解釋
程式首先匯入必要的類,例如ArrayList、Arrays、List和Collectors(來自java.util包)以及來自java.util.function包的Function介面。主類Demo使用Arrays.asList()初始化一個Employee物件的列表。每個Employee物件包含姓名、年齡和區域,這些屬性封裝在Employee類中。然後使用Lambda表示式(u -> u.displayEmpName())和map()方法提取員工姓名。使用collect(Collectors.toList())方法將這些姓名收集到一個新的列表res中。最後,程式列印員工姓名。
廣告