繁体   English   中英

Java-Hibernate从值列表到多维双精度数组

[英]Java-Hibernate from List of values to multidimensional double arrays

使用以下代码段,我尝试从Hibernate返回的列表中构建多维数组double [] []:

data列表进入makeSetmakeSet尝试返回[][] 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM