在java中,如何同时增加两个大小不同的数组(列表)的索引?

在java中,如何同时增加两个大小不同的数组(列表)的索引?,java,Java,我在java中有两个不同大小的ArrayList。ArrayList“probs”和“theDoubles”(大小分别为4和5)。数组'dprobs'(Double[5])只是一个复制'theDoubles'值的数组 只允许添加长度不为零的项目(请参见“.size()>0”)。其中一个是零长度,并被“0.0”双精度替换(添加到“theDoubles”数组列表) 我的问题是,我不知道如何获得所需的输出: i=1 j=0 i=2 j=1 i=3 j=2 i=4 j=3 j=4 我得到的是:

我在java中有两个不同大小的ArrayList。ArrayList“probs”和“theDoubles”(大小分别为4和5)。数组'dprobs'(Double[5])只是一个复制'theDoubles'值的数组

只允许添加长度不为零的项目(请参见“.size()>0”)。其中一个是零长度,并被“0.0”双精度替换(添加到“theDoubles”数组列表)

我的问题是,我不知道如何获得所需的输出:

i=1 j=0
i=2 j=1
i=3 j=2
i=4 j=3
    j=4
我得到的是:

i=1 j=1
i=2 j=2
i=3 j=3
i=4 j=4
这是我的密码:

        for (int i = 0; i < 5; i++) {
            if (probs.get(i).size() > 0) {
                System.out.println("i: " + i);
                System.out.println("j: " + j);

                theDoubles.add(Double.parseDouble(probs.get(i).get(0).getValue()));
                dprobs[j] = theDoubles.get(j);
            } else {
                theDoubles.add(0.0);
            }
            j++;
        }
        return dprobs;
我只知道:

0.0049522
0.0020487
0.0013568
0.0015332
因为“j”从“1”开始(它忽略第一项,即索引0处的“0.0”)

有什么想法吗


谢谢

很难看到完整的图片,因为没有显示第二组输出和所需输出的打印位置。因此,我将根据您发布的第一个集合进行尝试:仅当您位于指向长度不为零的元素的i时,才需要增加j。因此,将j++也移动到“if”块。它变成这样:

for (int i = 0; i < 5; i++) {
        if (probs.get(i).size() > 0) {
            System.out.println("i: " + i);
            System.out.println("j: " + j);

            theDoubles.add(Double.parseDouble(probs.get(i).get(0).getValue()));
            dprobs[j] = theDoubles.get(j);
            j++;
        } else {
            theDoubles.add(0.0);
        }

    }
    return dprobs;
for(int i=0;i<5;i++){
if(probs.get(i).size()>0){
System.out.println(“i:+i”);
System.out.println(“j:+j”);
add(Double.parseDouble(probs.get(i.get(0.getValue()));
dprobs[j]=双参数get(j);
j++;
}否则{
加上(0.0);
}
}
返回dprobs;

什么是问题?是什么的数组列表?你应该从头重写你的问题。对于那些想知道我的完整代码的人来说,这里是:RMT:“j”在我的pastebin paste中的第80行初始化。Kal:probs=private List probs;这是一个ArrayList的ArrayList,是的,A.J.,这看起来确实是一个可行的解决方案。非常感谢。同时,我已经从整体上解决了应用程序中的问题:我正在通过iyou进行循环,非常欢迎您,我很高兴您解决了问题:)
for (int i = 0; i < 5; i++) {
        if (probs.get(i).size() > 0) {
            System.out.println("i: " + i);
            System.out.println("j: " + j);

            theDoubles.add(Double.parseDouble(probs.get(i).get(0).getValue()));
            dprobs[j] = theDoubles.get(j);
            j++;
        } else {
            theDoubles.add(0.0);
        }

    }
    return dprobs;