首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并两个ArrayList

合并两个ArrayList
EN

Stack Overflow用户
提问于 2015-02-26 10:54:45
回答 1查看 935关注 0票数 0

编写一个方法

代码语言:javascript
复制
public static ArrayList merge(ArrayList a, ArrayList b)

它合并了两个数组列表,两个数组列表中的元素交替。如果一个数组列表比另一个短,则尽可能长地交替,然后附加较长数组列表中的其余元素。例如,如果a是

代码语言:javascript
复制
1 4 9 16

而b是

代码语言:javascript
复制
9 7 4 9 11

然后merge返回数组列表

代码语言:javascript
复制
1 9 4 7 9 4 16 9 11

到目前为止,这是我的代码。

我所需要做的就是将用户给出的两个输入以与here相同的方式合并

我之前问过同样的问题,但这是针对Array的,我得到了满意的结果。

我尝试了从该链接的解决方案,但我没有结果,如果有人可以给我快速提示如何合并两个ArrayList,我将不胜感激。

代码语言:javascript
复制
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");
}

}
EN

回答 1

Stack Overflow用户

发布于 2015-02-26 11:05:26

我已经有一段时间没有使用java了,但我非常确定这应该可以工作。基本上,我们循环到较长列表的末尾,如果没有到达输入列表的末尾,则从每个输入列表中添加一个元素。

代码语言:javascript
复制
ArrayList<Integer> merged = new ArrayList<Integer>();

// Merge the lists
for (int i = 0; i < Math.max(a.size(), b.size()); i++) {
    if (i < a.size()) merged.add(a.get(i));
    if (i < b.size()) merged.add(b.get(i));
}

for (int i = 0; i < merged.size(); i++) {
    System.out.print(merged.get(i).toString() + " ");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28733660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档