我声明了LinkedHashMap<String, float[]>,现在我想将float[]的值转换成double[][]。我正在使用以下代码。

    LinkedHashMap<String, float[]> fData;
    double data[][] = null;

    Iterator<String> iter = fData.keySet().iterator();
    int i = 0;

    while (iter.hasNext()) {

        faName = iter.next();
        tValue = fData.get(faName);
        //data = new double[fData.size()][tValue.length];
        for (int j = 0; j < tValue.length; j++) {
            data[i][j] = tValue[j];
        }
        i++;

    }


当我尝试打印数据System.out.println(Arrays.deepToString(data));时,它不显示数据:(

我试图调试我的代码,但发现必须在
while循环,但是然后我不知道数组的尺寸:(

怎么解决呢?

谢谢

最佳答案

尝试这个:

LinkedHashMap<String, float[]> fData;
double data[][] = new double[fData.size()][];
int i = 0;

for( String key in fData.keys() ) {
    float[] tValue = fData.get(key);
    data[i] = new double[ tValue.length ];
    for (int j = 0; j < tValue.length; j++) {
        data[i][j] = tValue[j];
    }
    i++;
}

07-25 21:23