将两个列表合并为一个的程序

时间:2018-04-02 15:26:15

标签: java arrays merge jgrasp

我必须合并这两个列表。到目前为止,这是我未完成的编码程序。我无法取得任何进一步的进展。我需要帮助完成这项任务。合并列表应包含所有提供的号码。另外,如果您愿意,可以为我的学习留下详细的解决过程吗?

public class Lab18bvst
{
    public static void main(String[] args)
    {
        int[] jsaList1 = {101, 105, 115, 125, 145, 165, 175, 185, 195, 225, 235, 275, 305, 315, 325, 335, 345, 355, 375, 385};
        int[] jsaList2 = {110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 270, 280, 320, 350, 400};

        Array list1 = new Array(jsaList1,"List #1");
        Array list2 = new Array(jsaList2,"List #2");
        Array list3 = new Array("Merged List");

        list3.merge(list1,list2);

        list1.display();
        list2.display();
        list3.display();

    }

}
class Array
{
    private ArrayList<Integer> list;
    private int size;
    private String listName;

    public Array(String ln)
    {
        list = new ArrayList<Integer>();
        size = 0;
        listName = ln;
    }

    public Array(int[] jsArray, String ln)
    {
        list = new ArrayList<Integer>();
        size = jsArray.length;
        listName = ln;
        for (int j = 0; j < size; j++)
            list.add( new Integer( jsArray[j] ));
    }

    public void display()
    {
        System.out.println("\n" + listName + ":\n");
        System.out.println(list + "\n");
    }

    public void merge(Array that, Array theOther)
   {
      int thatIndex, theOtherIndex;
      thatIndex = theOtherIndex = 0;

      for (int j = 1; j <= that.size + theOther.size; j++)
      {
         if (thatIndex >= that.size)
         {
            while(theOtherIndex < theOther.size)
            {
               this.list.add(theOther.list.get(theOtherIndex));
               theOtherIndex++;
            }
         }
         else if (theOtherIndex >= theOther.size)
         {
            while(thatIndex < that.size)
            {
               this.list.add(theOther.list.get(thatIndex));
               thatIndex++;
            }
         }
         else if

         else

      }

   }
}

1 个答案:

答案 0 :(得分:0)

加入2个列表的最简单方法

List<String> newList = new ArrayList<String>();
newList.addAll(listOne);
newList.addAll(listTwo);