Pau*_*win 2 java loops java-8 java-stream
我正在尝试将下面的嵌套循环转换为流 Java 8。
newself2中的每个元素都是一个字符串列表——["1 2","3 4"]需要改为["1","2","3","4"]。
for (List<String> list : newself2) {
// cartesian = [["1 2","3 4"],["4 5","6 8"]...] list = ["1 2","3 4"]...
List<String> clearner = new ArrayList<String>();
for (String string : list) { //string = "1 3 4 5"
for (String stringElement : string.split(" ")) {
clearner.add(stringElement);
}
}
newself.add(clearner);
//[["1","2","3","4"],["4","5","6","8"]...]
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我所尝试的 -
newself2.streams().forEach(list -> list.foreach(y -> y.split(" ")))
Run Code Online (Sandbox Code Playgroud)
现在我确定如何将内部 for 循环中的拆分数组添加到新列表 for x?
任何帮助是极大的赞赏。
这是我的做法:
List<List<String>> result = newself2.stream()
.map(list -> list.stream()
.flatMap(string -> Arrays.stream(string.split(" ")))
.collect(Collectors.toList()))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)