我试图创建一个二维数组 String 使用流:
String
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 以下内容:
Map
fruit2DArray = fruitMap.entrySet() .stream() .map(e -> new String[]{e.getKey(),e.getValue()}) .toArray(String[][]::new);
输出:
[[orange, orange], [apple, red], [pear, green]]