使用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) {
List emp = 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中。最後,程式列印員工姓名。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP