假设我在C#中有一个对象:
public class Person
{
public string Name{get;set;}
public int Age{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
要在C#中从此列表中选择名称,我将执行以下操作:
List<string> names = person.Select(x=>x.Name).ToList();
Run Code Online (Sandbox Code Playgroud)
我如何在Java 8中做同样的事情?
Hol*_*ger 45
如果你有一个像List<Person> persons;你可以说的人员名单
List<String> names
=persons.stream().map(x->x.getName()).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
或者,或者
List<String> names
=persons.stream().map(Person::getName).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但是,只有在需要这样的情况下,才可以将其收集到一个List或另一个Collection中Collection.否则,您将继续使用流的操作,因为您可以使用a Collection和更多功能执行所有操作,而无需Strings 的中间存储,例如
persons.stream().map(Person::getName).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23042 次 |
| 最近记录: |