如何提取列表中特定属性的所有元素?

mem*_*und 5 java collections

我怎样才能最好地获得以下结构的所有"名称"字符串元素:

class Foo {
    List<Bar> bars;
}

class Bar {
    private String name;
    private int age;
}
Run Code Online (Sandbox Code Playgroud)

我的方法是:

List<String> names = new ArrayList<String>();

for (Bar bar : foo.getBars()) {
    names.add(bar.getName());
}
Run Code Online (Sandbox Code Playgroud)

这可能有用,但在java中没有.Collections在哪里我可以这样写: Collections.getAll(foo.getBars(), "name");

And*_*ner 1

使用 Java 8:

List<String> names =        
    foo.getBars().stream().map(Bar::getName).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)