2016-10-01 50 views
0

假设创建自定义对象对ArrayList中我有两个ArrayList{10}{0, 1, 2}从两个的ArrayList

我需要做第三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

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

for (int i : array1) { 
    for (int j : array2) { 
     pairsArray.add(new Pair(i, j)); 
    } 
} 
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)); 
    } 
}