gpt4 book ai didi

Java:将类的集合转换为B类的集合

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:01:19 24 4
gpt4 key购买 nike

给定 Foo myFoos 列表,我需要将它们映射到不同类的集合,例如 Bar。我现在这样做:

List<Bar> myBars = new...
for(Foo f : foos) {
Bar b = new Bar();
b.setAProperty(f.getProperty);
b.setAnotherProp(f.getAnotherProp);
myBars.add(b);
}

那么,有没有更简单的方法来做到这一点?当然这很简单,但我想知道是否有任何魔法可以将 foos 变成 bars 而无需手动遍历列表,特别是因为我的输入列表可能很大。
如果没有,你们知道编译器是否做了任何优化吗?我主要担心性能。

谢谢!

--
拉普尔

最佳答案

您无法真正避免遍历列表,因为您必须转换每一项!

但是如果您编写一个接受FooBar 构造函数,您可以简化语法。然后你的循环可以变成:

for(foo f : foos) {
myBars.add(new Bar(f));
}

根据您的情况,另一种方法是根本不创建 Bar 列表。相反,您可以简单地添加一个 Foo.getAsBar() 方法,这样您就可以根据需要动态生成一个 Bar 对象。如果容器中元素的数量高于您需要访问它们的总次数,那么这可能更有效。

关于Java:将类的集合转换为B类的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281174/

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