从现有对象的属性生成数组
Generate array from existing object's attribute
假设我们有这个 class:
public class Person
{
public String name;
public String lastname;
}
假设我们有那个 Person
class 的集合。如何生成仅包含 lastnames
的新字符串集合?
我们可以通过迭代轻松地做到这一点,但我正在寻找最有效的方法。
由于某些依赖关系,我无法使用 Java 8.
使用 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))。
假设我们有这个 class:
public class Person
{
public String name;
public String lastname;
}
假设我们有那个 Person
class 的集合。如何生成仅包含 lastnames
的新字符串集合?
我们可以通过迭代轻松地做到这一点,但我正在寻找最有效的方法。
由于某些依赖关系,我无法使用 Java 8.
使用 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))。