Java 有没有一种快速的方法可以从对象列表中提取列表的一部分?

Java 有没有一种快速的方法可以从对象列表中提取列表的一部分?,java,Java,说,我有一份学生名单 Person的定义如下 class Person { String id; String name; } 在获得学生之后,是一种获取所用ID列表的qucik方法,以列表ID的形式。如果您正在寻找类似于其他语言中使用的映射函数的东西,它构建一个新的列表,只提取ID,那么不,这是不直接可行的(除非使用一些外部收集API) 您应该使用最简单的方法:在列表上迭代,并通过仅选择ID来构建一个新的列表 获得这些东西的一种方法,就像我提到的,例如使用TransformI

说,我有一份学生名单

Person的定义如下

class Person {
    String id;
    String name;
}

在获得学生之后,是一种获取所用ID列表的qucik方法,以列表ID的形式。

如果您正在寻找类似于其他语言中使用的
映射
函数的东西,它构建一个新的列表,只提取ID,那么不,这是不直接可行的(除非使用一些外部收集API)

您应该使用最简单的方法:在列表上迭代,并通过仅选择ID来构建一个新的列表


获得这些东西的一种方法,就像我提到的,例如使用
TransformIterator
Transformer
但是这些工具在默认情况下并不随SDK提供,因为它们驻留在Apache集合中(请看一看)。

就像Jack说的,或者,您可以拆分id,并从中生成新序列,然后在其中进行迭代。

Guava有Lists.transform函数可用。传入要转换的列表并返回与该列表关联的元素

List<Person> people = ...;

List<String> ids = Lists.transform(people, new Function<People, String>(){
     public String apply(People person){
         return person.getId();
     }    
});
列出人=。。。;
List id=Lists.transform(人,新函数(){
公共字符串应用(人员){
return person.getId();
}    
});

除了循环遍历整个列表并用ID填充另一个列表外,我真的看不到任何其他最佳选项(Java)检查我的编辑。。但是我想每个集合API(也包括Trove)都有一种方法来完成这个操作