stream(流) 流的扁平化flatMap
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
// 流的扁平化
public class StreamMain {
public static void main(String[] args) {
List<String> words = Arrays.asList("People", "who", "don't","wan", "to","be","slaves");
List<String> collect = words.stream().map(x -> x.split("")).flatMap(Arrays::stream).collect(Collectors.toList());
System.out.println(collect);
}
}
结果
[P, e, o, p, l, e, w, h, o, d, o, n, ', t, w, a, n, t, o, b, e, s, l, a, v, e, s]
例子
/**
* a b c 和 1 2 3 组合
*/
//1:答案
List<String> n1 = Arrays.asList("a","b","c");
List<String> n2 = Arrays.asList("1","2","3");
List<String[]> collect = n1.stream().flatMap(i -> n2.stream().map(j -> new String[]{i, j})) .collect(Collectors.toList());
collect.stream().forEach(x-> System.out.println(x[0] + "," + x[1] ));
结果:
a,1
a,2
a,3
b,1
b,2
b,3
c,1
c,2
c,3