要使用Function Mapper使用现有列表中的字段中的值创建新列表,下面是一个示例。在这里,我们有一个Employee类-
class Employee { private String emp_name; private int emp_age; private String emp_zone; }
以下是使用Function Mapper从现有列表创建新列表的示例-
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.function.Function; public class Demo { public static void main(String args[]) { List < Employee > emp = Arrays.asList(new Employee("Jack", 29, "South"), new Employee("Tom", 24, "North"), new Employee("Harry", 35, "West"), new Employee("Katie", 32, "East")); List < String > res = processElements(emp, p -> p.displayEmpName()); System.out.println("Employee Names + " + res); } public static < X, Y > List < Y > processElements(Iterable < X > src, Function < X, Y > mapper) { List < Y > list = new ArrayList <> (); for (X p: src) list.add(mapper.apply(p)); return list; } } 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]