我有以下创建字符串数组的语句:
String[][] strArr = {{"Jazz","80"},{"sam","90"},{"shaam","80"},{"aditya","100"}};
是否可以获取如下流?我在 Eclipse 中尝试过,但出现错误。
Stream<String,String> streamObj = Arrays.stream(strArr);
尝试在网上搜索,但大多数结果显示从一维字符串数组获取流,如下所示:
String[] stringArr = {"a","b","c","d"};
Stream<String> str = Arrays.stream(stringArr);
最佳答案
没有可行的表示如Stream<String, String>
与 java.util.stream.Stream
类,因为它的通用实现依赖于单个类型,例如它声明为:
public interface Stream<T> ...
你可能还是collect
子数组中的映射作为 Map<String, String>
中的键值对作为:
Map<String, String> map = Arrays.stream(strArr)
.collect(Collectors.toMap(s -> s[0], s -> s[1]));
将条目进一步包装而不将它们收集到 Map
, 你可以创建一个 Stream
的 SimpleEntry
作为:
Stream<AbstractMap.SimpleEntry<String, String>> entryStream = Arrays.stream(strArr)
.map(sub -> new AbstractMap.SimpleEntry<>(sub[0], sub[1]));
关于java - 如何从字符串数组中获取流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58804393/