假设我有两个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)));
}
}
谢谢!
答案 0 :(得分:2)
除了创建对象的行之外,您的代码是正确的。当您使用foreach循环时,您不应该调用get
,您的i
和j
已经包含了您需要的对象(在这种情况下,实际上不是对象而是原始对象)整数)。所以你的循环应该是这样的:
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));
}
}