【发布时间】:2013-04-16 11:11:52
【问题描述】:
写一个方法
公共静态 ArrayList 合并(ArrayList a, ArrayList b)
合并两个数组列表,两个数组列表中的元素交替出现。如果一个数组列表比另一个短,则尽可能交替,然后从较长的数组列表中附加剩余的元素。例如,如果 a 是
1 4 9 16
而b是
9 7 4 9 11
然后merge返回数组列表
1 9 4 7 9 4 16 9 11
我尝试做的是用 if 语句编写一个 for 循环,这样当 i 是偶数 (i%2==0) 时,从数组列表 a 和从数组列表 b 中将一个数字添加到合并数组列表中i 是一个奇数。但是,我不确定如何处理一个数组列表可能比另一个更长的事实。谁能帮帮我?
编辑:好的,这是代码(但它远非正确):
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;
}
【问题讨论】:
-
同上。并查看
List.iterator() -
好的,抱歉。我只是认为代码质量太低了,不值得发布。但是,你们中的任何人都可以为我提供一种比使用 List 迭代器更“基本”的方法吗?
-
发布您的代码,即使质量很差,也显示了您为解决问题所做的努力,因此您更有可能得到答案并且不太可能被否决:)
标签: java