首页javalistJava Collection - 如何使用Function Mapper从现有列表的字段创建一个新列表

Java Collection - 如何使用Function Mapper从现有列表的字段创建一个新列表

我们想知道如何使用Function Mapper从现有列表的字段创建一个新列表。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Function;

public class Main {
  public static void main(String args[]) {
    List<Person> people = Arrays.asList(new Person("B", 25, "Main Street"),
        new Person("A", 27, "Off Street"));

    List<String> lNames = processElements(people, p -> p.getName()); // for the
                                                                     // names

    System.out.println(lNames);
  }

  public static <X, Y> List<Y> processElements(Iterable<X> source,
      Function<X, Y> mapper) {
    List<Y> l = new ArrayList<>();
    for (X p : source)
      l.add(mapper.apply(p));
    return l;
  }

}

class Person {
  private String name;
  private int age;
  private String location;

  public Person(String name, int age, String location) {
    this.name = name;
    this.age = age;
    this.location = location;
  }

  public String getName() {
    return this.name;
  }
}