我有一个for循环,处理两个字符串列表,该列表调用具有多个参数的方法,返回一个对象,该对象被添加到列表中
我想为此有效地利用stream / lambda,有人可以指导我吗 我有两个传入的字符串列表“ AAA,BBB,CCC”和对应的数量列表为“ 1、3、11”
final List<someObj> someObjs = new ArrayList<someObj>() ;
final List<String> codesList = Arrays.asList(codes.split("\\s*,\\s*"));
final List<String> qtysList = Arrays.asList(qtys.split("\\s*,\\s*"));
for (String code: codesList){
someObjs.add(addThis(code, qtysList.get(index++)));//
}
return someObj;
如何使用lambdas进行转换?预先感谢!
答案 0 :(得分:2)
怎么样,
final List<SomeObj> someObjs = IntStream.range(0, codesList.size())
.mapToObj(i -> addThis(codesList.get(i), qtysList.get(i)))
.collect(Collectors.toList());