从现有对象的属性生成数组

时间:2016-04-04 10:50:43

标签: java arrays collections sub-array

让我们考虑一下这个课程:

public class Person
{
    public String name;
    public String lastname;
}

假设我们有Person类的集合。如何生成仅包含lastnames的新String集合?

我们可以通过迭代轻松完成,但我正在寻找最有效的方法。

由于某些依赖关系,我无法使用Java 8。

1 个答案:

答案 0 :(得分:0)

使用for循环并使用正确的大小初始化目标集合:

String[] lastnames = new String[persons.size()]; // or new ArrayList(persons.size()), ...
for(int i=0;i<persons.size();i++){
    lastnames[i] = persons.get(i).getLastName();
}

如果两个集合(人员和姓氏)都可以直接访问,这将是有效的(O(n))。