[英]Java-Hibernate from List of values to multidimensional double arrays
使用以下代码段,我尝试从Hibernate返回的列表中构建多维数组double [] []:
data
列表进入makeSet
, makeSet
尝试返回[][] double
makeSet
数组。 最佳的是,我不知道应该有多少个数组。 因此,我尝试调用makeInnerSet
但是除非在代码中创建new double[][] ix, iy
否则代码不会很好地进行迭代。
有没有办法知道数组[] []的列?
也许还有另一种解决方法?
必须收回Hibernate的标量值,并使它们的大小翻倍[[] []。 有什么帮助吗?
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了。 但是,如何获取列表中的列数?
假设列表中的所有数组都具有相同的大小(因为否则makeinnerset也会炸弹):
int columns = ((Object[])data.first()).size()
代码获取第一个数组并获取其大小,该大小对于所有数组都应相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.