java - 使用带有 lambda 的 Java 8 流来处理 for 循环,调用具有多个参数的方法

标签 java loops lambda

我有一个 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;

如何使用 lambda 对其进行转换?提前致谢!

最佳答案

这个怎么样,

final List<SomeObj> someObjs = IntStream.range(0, codesList.size())
        .mapToObj(i -> addThis(codesList.get(i), qtysList.get(i)))
        .collect(Collectors.toList());

关于java - 使用带有 lambda 的 Java 8 流来处理 for 循环,调用具有多个参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51047588/

相关文章:

java - JTextArea 强制父级 JScrollPane 向下滚动

c - 为什么变量 == 105 而不是 100?

java - 在 lambda 表达式中分配局部变量

Java 代码总是返回错误消息(有效永远不等于 true)

java - @SpringBootTest 使用测试属性(测试数据库)文件运行

java - 如何为扩展特定类的所有类指定单个切入点

c - Monty Hall 游戏 : How to print which door the computer opened

Javascript - 如果条件引用数组,则循环跳过内部代码

haskell - Lambda 微积分 (λa.b)((λx.xx)(λx.xx))

c++ - 递归函数 - 删除特殊字符