Java中的平面图:lambda真的有必要吗?



下面是一个代码示例(表单 Mykong.com(:

String[][] data = new String[][]{{"a", "b"}, {"c", "d"}, {"e", "f"}};
//Stream<String[]>
Stream<String[]> temp = Arrays.stream(data);
//Stream<String>, GOOD!
Stream<String> stringStream = temp.flatMap(x -> Arrays.stream(x));

如果我理解正确,这里的 lambda 正在执行实际的扁平化,但无法平坦映射理解需要进行什么平展才能省略 lambda?

编辑:flatMap是否可以使用默认的lambda以"直观"的方式进行转换?

lambda 不是必需的,您可以通过方法引用完成相同的操作。但实际上,这两种方法是相同的。

最后一行可能是:

Stream<String> stringStream = temp.flatMap(Arrays::stream);

最新更新