次のスニペットを使用して、Hibernateから返されたリストから多次元配列double[][]を作成しようとしています。
data
リストはになり、makeSet
配列をmakeSet
返そうとします。[][] double
最適なのは、アレイをいくつ持つべきかわからないことです。だから私は呼び出してみましたが、コードでmakeInnerSet
を作成しない限りnew double[][] ix, iy
、コードはうまく繰り返されません。
配列[][]の列を知る方法はありますか?
おそらく、問題への別のアプローチがありますか?
Hibernateのスカラー値を取り戻し、それらを任意のサイズのdouble[][]にする必要があります。何か助けはありますか?
List data = qry.list();
double[][] inputData = makeSet(data);
public double[] makeInnerSet(List data, double[] ix, int col ){
int i = 0;
Iterator<?> itr1 = data.listIterator();
while (itr1.hasNext()) {
Object[] result = (Object[]) itr1.next();
if (result[col] != null) {
double res1 = (Double) result[col];
ix[i] = res1;
}else{
ix[i] = 0;
}
i++;
}
return ix;
}
public double[][] makeSet(List data){
Iterator<?> itr1 = data.listIterator();
double[] ix = new double[data.size()];
double[] iy = new double[data.size()];
double[][] x = { makeInnerSet(data, iy,0), makeInnerSet(data, ix,1) };
return x;
}
編集 コードの作成をうまく行う:
double[][] x = {
makeInnerSet(data, new double[data.size()],0),
makeInnerSet(data, new double[data.size()],1)
};
私の答えを半分見つけました...数秒後...私は確かに今はixを必要としません。しかし、リストの列数を取得するにはどうすればよいですか?