是否可以使用 Stream API 从 Map<String, String>

是否可以通过 Stream API 从 HashMap 生成 String[][]?


我尝试得到这样的东西:


Map<String, String> map = new HashMap<>();

    map.put("key1", "value1");

    map.put("key2", "value2");

    map.put("key3", "value3");   => 


 => String[][] 2dArray => [["key1", "value1"], ["key2", "value2"], ["key3", "value3"]]

我用简单的java做了同样的事情:


    Set<Map.Entry<String, String>> entrySet = map.entrySet();


    String[][] result = new String[3][2];

    int i = 0;

    for (Map.Entry<String,String> entry : entrySet){

            result[i][0] = entry.getKey();

            result[i][1] = entry.getValue();

            ++i;

    }


MMMHUHU
浏览 120回答 1
1回答

慕后森

是的。您可以流式传输 的条目集Map,map每个条目都存储到包含键和值的数组,并Stream<String[]>使用 将其转换为二维数组toArray()。String[][] arr =&nbsp;&nbsp; &nbsp; map.entrySet()&nbsp; &nbsp; &nbsp; &nbsp;.stream() // Stream<Map.Entry<String,String>>&nbsp; &nbsp; &nbsp; &nbsp;.map(e -> new String[] {e.getKey(),e.getValue()}) // Stream<String[]>&nbsp; &nbsp; &nbsp; &nbsp;.toArray(String[][]::new); // String[][]System.out.println(Arrays.deepToString (arr));输出:[[key1, value1], [key2, value2], [key3, value3]]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java