gpt4 book ai didi

java - 将一个对象集合中的一个属性添加到另一个集合

转载 作者:行者123 更新时间:2023-12-02 09:54:02 24 4
gpt4 key购买 nike

考虑以下模型类:

class A{
String a;
int b;
}

我将它用作我的方法之一的参数,例如:

 class B{
public static ArrayList<String> listOfAs;
public void abc(Collection<A> collectionOfA){
//I want a best way to create a collection of attribute 'a'.
// I want listOfAs to be populated with the collection of a
}
}

如果可以跳过对 collectionOfA 的迭代,那就太好了!谢谢

最佳答案

您可以避免使用流显式跳过,但在幕后它当然会迭代:

listOfAs = collectionOfA.stream().map(A::getA).collect(toList());

请注意,它需要定义一个公共(public) String getA() 方法,并为该字段定义一个 List 而不是 ArrayList,这是一个很好的做法。

如果您确实需要将 ArrayList 保留为声明字段,您仍然可以这样做:

listOfAs = collectionOfA.stream().map(A::getA).collect(toCollection(ArrayList::new);

请注意,如果列表应该更新而不仅仅是覆盖,您可以使用 addAll() :

List<String> list = collectionOfA.stream().map(A::getA).collect(toList());
listOfAs.addAll(list);

关于java - 将一个对象集合中的一个属性添加到另一个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56133095/

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