我想使用流执行此类操作:
List<String> listX = new ArrayList<>();
for(int i=0;i<listY.size();i++){
listX.add(String.format(ABC,i));
}
所以我必须使用另一个列表的长度迭代一个列表,并另外使用计数器 i。毕竟我想返回新列表
最佳答案
使用 IntStream.range & IntStream.mapToObj方法。并且不要在流 api 中操作 lambda 表达式之外的变量,这将导致 Thread Interference或Memory Consistency Errors在并行流中。
List<String> listX = IntStream.range(0, listY.size())
.mapToObj(i -> String.format(ABC,i))
.collect(Collectors.toList());
关于java - 使用以另一个列表的长度为基础的流迭代列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43293733/