矩阵的值,java,collections"/>

首页 > 解决方案 > 如何转换HashMap矩阵的值

问题描述

我正在尝试将HashMap<Object, int[]>值转换为 int[][]。

我有 HashMap<Character, int[]>我想要 map 的所有值int[][]

merge(map.values().toArray());

这给我一个编译错误。

Line 18: error: incompatible types: Object[] cannot be converted to int[][]
    int[][] arr = merge(map.values().toArray());

合并函数的签名。

public int[] merge(int[][] arr){   
//doing something
}
                                            

标签: javacollections

解决方案


我正在尝试将HashMap<Object, int[]>值转换为int[][].

我认为您的方法的签名是错误的,因此int[][]要从地图的值中获取,您可以使用:

public static int[][] merge(Collection<int[]> arr){
    return arr.toArray(new int[0][]); // Java11+: return arr.toArray(int[][]::new);
}

然后你像这样调用合并方法:

int[][] result = merge(map.values());

推荐阅读