假设我在C#中有一个对象:
public class Person { public string Name{get;set;} public int Age{get;set;} }
要在C#中从此列表中选择名称,请执行以下操作:
List<string> names = person.Select(x=>x.Name).ToList();
在Java 8中我将如何做同样的事情?
如果您有类似的人员列表,List<Person> persons;您可以说
List<Person> persons;
List<String> names =persons.stream().map(x->x.getName()).collect(Collectors.toList());
或者
List<String> names =persons.stream().map(Person::getName).collect(Collectors.toList());
但是,收集到一个List或其他Collection被intented与传统的API只在你需要这样的使用Collection。否则,您将继续使用流的操作,因为您可以使用a做Collection更多的事情,而无需中间存储Strings,例如
List
Collection
String
persons.stream().map(Person::getName).forEach(System.out::println);