说,我有一个List学生;
人的定义如下
class Person {
String id;
String name;
}
获得学生之后,这是一种获取所使用的ID列表的方法,列表ID为。
答案 0 :(得分:2)
Guava有Lists.transform功能。您传入要转换的列表并返回与列表关联的元素。
List<Person> people = ...;
List<String> ids = Lists.transform(people, new Function<People, String>(){
public String apply(People person){
return person.getId();
}
});
http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Lists.html
答案 1 :(得分:0)
如果你正在寻找像其他语言一样的map
函数,它会构建一个只提取ID的新列表,那么不,这不是直接可行的(除非使用一些外部集合API)
你应该采用最直接的方式:通过选择ID来迭代列表并建立一个新的。
像我提到的那样,获取这些内容的方法是将TransformIterator
与Transformer
一起使用,但这些工具默认情况下不附带SDK,因为它们位于 Apache Collections (看看here)。
答案 2 :(得分:0)
就像杰克所说的那样,或者你可以将id分开并制作一个新的序列并重复该过程。