【发布时间】:2014-02-05 04:51:44
【问题描述】:
给定两个不同大小的数组列表,我需要在一个新的 ArrayList 中返回它们的排序联合。
这里是代码。我不断收到数组越界错误,如果我不按照它们生成的顺序(随机)排列它们。
public static ArrayList<Integer> merge(ArrayList<Integer> l1, ArrayList<Integer> l2) {
int i = 0;
int pointer1 = 0;
int pointer2 = 0;
ArrayList<Integer> list = new ArrayList<Integer>();
while (list.size() < ((l1.size() + l2.size()))) {
if (pointer1 < 11 && pointer2 < 21) {
if (l1.get(pointer1) == l2.get(pointer2)) {
list.add(l1.get(pointer1));
list.add(l2.get(pointer2));
pointer1++;
pointer2++;
} else if (l1.get(pointer1) > l2.get(pointer2)) {
list.add(l1.get(pointer1));
pointer1++;
} else if (l2.get(pointer2) > l1.get(pointer1)){
list.add(l2.get(pointer2));
pointer2++;
}
} else if (pointer2 < 20) {
list.add(l2.get(pointer2));
pointer2++;
} else if (pointer1 < 10) {
list.add(l2.get(pointer2));
pointer2++;
}
}
return list;
}
【问题讨论】:
标签: arrays list sorting arraylist integer