Streamsを使用した2次元配列への地図

ヴィッキー:

私はの2次元配列を作成しようとしているStringStreamsを使用しました:

String[] fruit1DArray;
String[][] fruit2DArray;

Map<String, String> fruitMap = new HashMap<>();
fruitMap.put("apple", "red");
fruitMap.put("pear", "green");
fruitMap.put("orange", "orange");

fruit1DArray = fruitMap.entrySet()
    .stream()
    .map(key -> key.getKey())
    .toArray(size -> new String[size]);

fruit2DArray = fruitMap.entrySet()
    .stream()
    .map(entry-> new String[]{entry.getKey()})
    .toArray(size -> new String[size][1]);

System.out.println(Arrays.deepToString(fruit1DArray));
System.out.println(Arrays.deepToString(fruit2DArray));

出力は次のようになります。

[orange, apple, pear]
[[orange], [apple], [pear]]

私は後の午前出力は次のようになります。

[orange, apple, pear]
[[orange, orange], [apple, red], [pear, green]]

私は言及していますhttps://stackoverflow.com/a/47397601/887235

彼らは次のとおりでした:

あなたの入力から値を取得するのを忘れMap

fruit2DArray = fruitMap.entrySet()
                       .stream()
                       .map(e -> new String[]{e.getKey(),e.getValue()})
                       .toArray(String[][]::new);

出力:

[[orange, orange], [apple, red], [pear, green]]

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=201628&siteId=1