Java程序使用Function Mapper使用现有列表中的值创建新列表

要使用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]