gpt4 book ai didi

java - 如何获取某个属性的值列表

转载 作者:行者123 更新时间:2023-12-01 10:16:28 24 4
gpt4 key购买 nike

我想要 ArrayList 内对象的某个属性的值列表。假设我有一堂这样的课:

public class Foo {
private String b, a, r;
//Constructor...
//Getters...
}

然后我创建一个 ArrayList<Foo> :

ArrayList<Foo> fooList = new ArrayList<>();
fooList.add(new Foo("How", "Hey", "Hey"));
fooList.add(new Foo("Can", "Hey", "Hey"));
fooList.add(new Foo("I", "Hey", "Hey"));
fooList.add(new Foo("Get", "Hey", "Hey"));
fooList.add(new Foo("Those?", "Hey", "Hey"));

ArrayList<Foo>中,是否可以获取 Foo 的某个属性的列表无需迭代我的 ArrayList使用for环形?也许类似于valueforkey在 Objective-c 中。这将使使用 TextUtils.join() 打印值变得更容易如果我有一个 ArrayList<String>包含How , Can , I , Get ,和Those .

最佳答案

使用 Java 8,您可以进行流式传输、映射和收集:

List<String> list = fooList.stream()
.map(Foo::getProp)
.collect(Collectors.toList());

如果您有 Guava,您可以获得列表的转换 View ,如下所示:

List<String> list = Lists.transform(fooList, Foo::getProp);

Java 7 版本:

List<String> list = Lists.transform(fooList, new Function<Foo, String>() {
@Override
public String apply(Foo foo) {
return foo.getProp();
}
});

关于java - 如何获取某个属性的值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35861491/

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