java合并两个ArrayList
写一个方法
public static ArrayList merge(ArrayList a, ArrayList b)
合并两个数组列表,交替使用两个数组列表中的元素。如果一个数组列表比另一个数组列表短,则尽可能长地替换,然后从较长的数组列表中附加剩余的元素。例如,如果
1 4 9 16
b是
9 7 4 9 11
然后merge返回数组列表
1 9 4 7 9 4 16 9 11
好的,这是我目前的代码
我所需要做的就是合并用户以与here相同的方式给出的两个输入
我之前问过同样的问题,但那是针对数组的,我得到了满意的结果
我尝试了这个链接的解决方案,但没有结果 如果有人能给我快速提示如何合并两个ArrayList,我将不胜感激
import java.util.ArrayList;
import java.util.Scanner;
public class HomeWork6_27_B{
public static void main(String arg[]) {
Scanner scan = new Scanner(System.in);
Scanner scan2 = new Scanner(System.in);
ArrayList<Integer> a = new ArrayList<>();
ArrayList<Integer> b = new ArrayList<>();
System.out.print("Enter Array of numbers in First Set, type 0 when finished:");
System.out.println();
int in = scan.nextInt();
a.add(in);
in = scan.nextInt();
while (in !=0){
a.add(in);
in = scan.nextInt();
}
System.out.println("End of First Set");
System.out.print("Enter Array of numbers in Second Set, type 0 when finished:");
System.out.println();
int in2 = scan2.nextInt();
b.add(in2);
in2 = scan2.nextInt();
while (in2 !=0){
b.add(in2);
in2 = scan2.nextInt();
}
System.out.println("End of Second Set");
}
}
# 1 楼答案
我已经有一段时间没有使用java了,但我很确定这应该可以用。基本上,我们循环到较长列表的末尾,如果尚未到达该输入列表的末尾,则从每个输入列表中添加一个元素