从两个ArrayLists创建自定义对象对的ArrayList

时间:2016-10-01 20:07:45

标签: java

假设我有两个ArrayList{10}{0, 1, 2}

我需要制作包含所有这些组合的第三个ArrayList。组合可以保存在自定义对象中,但基本上应该是这样的: {(10, 0), (10, 1), (10, 2)}

我需要它以两个ArrayList变量大小的方式工作。

我正在尝试这样的事情,但它似乎存在各种数组的超出范围异常的问题。

for (int i : array1)
{
    for (int j : array2)
    {
        pairsArray.add(new Pair(array1.get(i), array2.get(j)));
    }
}

谢谢!

2 个答案:

答案 0 :(得分:2)

除了创建对象的行之外,您的代码是正确的。当您使用foreach循环时,您不应该调用get,您的ij已经包含了您需要的对象(在这种情况下,实际上不是对象而是原始对象)整数)。所以你的循环应该是这样的:

for (int i : array1) {
    for (int j : array2) {
        pairsArray.add(new Pair(i, j));
    }
}

答案 1 :(得分:0)

你可以这样做:

List lOne, lTwo, lThree;
for(obj obj1 : lOne){
   for(obj obj2 : lTwo){
       lThree.add(obj1, obj2);
   }
}

如果你想计算它的大小:

numOfElements = sizeLOne * sizeLTwo

for(int i = 0 ; i < len(lOne); i++){
    obj1 = lOne.get(i); 
    for(int j = 0 ; j len(lTwo); j++){
        lThree.add(obj1, lTwo.get(j));
    }
}