gpt4 book ai didi

java - 根据列表中对象的属性创建列表

转载 作者:行者123 更新时间:2023-11-30 03:08:59 27 4
gpt4 key购买 nike

我希望我的标题可以更简洁,但我不太确定如何描述我想要做的事情。我有一个列表,其中包含我创建的类的许多对象。每个对象都有许多属性,可以通过一些 getter 和 setter 访问。我想为每个属性创建一个列表,获取每个对象的属性并将它们放入各自的列表中。

我目前正在使用以下代码执行此操作:

ArrayList<Integer> counts = new ArrayList<Integer>();
ArrayList<String> colors = new ArrayList<String>();
ArrayList<String> shapes = new ArrayList<String>();
ArrayList<String> fills = new ArrayList<String>();

for (Card card: cards) {
counts.add(card.getCount());
colors.add(card.getColor());
shapes.add(card.getShape());
fills.add(card.getFill());
}

但我想知道是否有更短、也许更好的方法来做到这一点?或者我已经在“正确”地做这件事了?谢谢!

最佳答案

你的方式看起来不错。如果您使用 Java 8 Streams,则可以用更少的代码行编写它,但这需要对 cards 列表进行 4 次迭代,而不是当前的单次迭代。

例如,要创建计数列表,您可以编写:

List<Integer> counts = cards.stream().map(Card::getCount).collect(Collectors.toList());

关于java - 根据列表中对象的属性创建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34039925/

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