gpt4 book ai didi

java - 在 Java 中创建仅提取一个字段的新列表

转载 作者:行者123 更新时间:2023-11-29 02:58:37 24 4
gpt4 key购买 nike

我有以下类(class):

public class Person {
private Integer id;
private String name;
private String address;
...
}

在我的代码的某个点,我构建了一个 Person 列表:

List<Person> people = getPeople();

我需要的是仅使用原始列表的字段 id 创建一个新列表。当然,我可以遍历列表并创建一个新列表:

List<Integer> idsList = new ArrayList<Integer>();
for (Person person: people){
idsList.add(person.getId());
}

但我想知道是否有一种无需迭代即可做到这一点的方法。

我正在使用 JDK6。

非常感谢您

最佳答案

这取决于您需要对 List 做什么。如果您很高兴它是您无法直接修改的原始列表 ID 的 View ,您可以这样做:

public static List<Integer> idList(final List<Person> people) {
return new AbstractList<Integer>() {
@Override
public Integer get(int index) {
return people.get(index).getId();
}
@Override
public int size() {
return people.size();
}
};
}

如果您需要 ID 的 ArrayList,那么您将不得不进行迭代。

关于java - 在 Java 中创建仅提取一个字段的新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36623847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com