java - 如何从字符串数组中获取流?

标签 java string multidimensional-array java-8 java-stream

我有以下创建字符串数组的语句:

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 , 你可以创建一个 StreamSimpleEntry作为:

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/

相关文章:

java - JTextField 事件监听器

java - 通过 Maven/TeamCity 运行 IntelliJ 检查

javascript - 在字符串开头匹配子字符串的最佳方法(有一些限制)

c - 通过c中的函数传递的二维数组

Python:通过迭代加速矩阵坐标映射

java - 未处理的异常类型 FileNotFoundException

java : mapping the Values from Enumeration to Object

随单元格值变化的字符串?

c# - 正则表达式替换匹配全部而不是单个

c - 字符串数组