写一个合并两个数组列表的方法,两个数组列表中的元素交替
写一个方法
公共静态ArrayList merge(ArrayList a,ArrayList b)
合并两个数组列表,两个数组列表中的元素交替出现。如果一个数组列表短于另一个数组列表,则请尽可能长地交替,然后附加较长数组列表中的其余元素。例如,如果a是
1 4 9 16
b是
9 7 4 9 11
然后合并返回数组列表
1 9 4 7 9 4 16 9 11
我尝试做的是编写一个带if语句的for循环,以便当i为偶数(i%2 ==
0)时,将数组列表a中的数字添加到数组列表a中;当i为an时,将数组列表b中的数字添加到数组列表中奇数。但是,我不确定如何处理一个数组列表可能比另一个数组列表更长的事实。有人可以帮我吗?
:好的,这是代码(但远非正确):
public static ArrayList<Integer> merge(ArrayList<Integer> een, ArrayList<Integer> twee){
ArrayList<Integer> merged = new ArrayList<Integer>();
for(int i = 0; i<100; i++)
{
if(i%2!=0)
{
merged.add(a.get(i));
}
if(i%2 == 0)
{
merged.add(b.get(i));
}
}
System.out.println(merged);
return merged;
}
回答:
没有迭代器:
public static ArrayList merge(ArrayList a, ArrayList b) { int c1 = 0, c2 = 0;
ArrayList<Integer> res = new ArrayList<Integer>();
while(c1 < a.size() || c2 < b.size()) {
if(c1 < a.size())
res.add((Integer) a.get(c1++));
if(c2 < b.size())
res.add((Integer) b.get(c2++));
}
return res;
}
以上是 写一个合并两个数组列表的方法,两个数组列表中的元素交替 的全部内容, 来源链接: utcz.com/qa/425846.html