gpt4 book ai didi

java - 运行两个流并从中创建一个对象

转载 作者:行者123 更新时间:2023-11-30 06:41:11 25 4
gpt4 key购买 nike

我有两个列表

List<String> a = Arrays.asList( "1" , "2" , "3" );
List<String> b = Arrays.asList( "a" , "b" , "c" );

和一个类

class Obj{
String a;
String b;
public Obj(String a, String b){
this.a=a;
this.b=b;
}
}

我必须将每个元素 2 列表转换为上述类的对象。以这样的方式生成 Obj 的对象列表 -

[ Obj("1","a") , Obj("2","a") , Obj("3","a") ]

我知道我可以通过简单地运行一个循环来完成。

List<Obj> arrayList = new ArrayList<>();

for( int i=0; i<allAttributes.size(); i++){
arrayList.add( new Obj(a[i],b[i]) );
}

想知道它是否可以在 Java 8 中以某种优雅的方式完成。

最佳答案

鉴于 a 和 b 列表的大小相同,这应该可以解决问题,

List<Obj> objList = IntStream.range(0, a.size())
.mapToObj(i -> new Obj(a.get(i), b.get(i)))
.collect(Collectors.toList());

关于java - 运行两个流并从中创建一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56148913/

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