我声明了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++;
}