我必须合并这两个列表。到目前为止,这是我未完成的编码程序。我无法取得任何进一步的进展。我需要帮助完成这项任务。合并列表应包含所有提供的号码。另外,如果您愿意,可以为我的学习留下详细的解决过程吗?
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
}
}
}
答案 0 :(得分:0)
加入2个列表的最简单方法
List<String> newList = new ArrayList<String>();
newList.addAll(listOne);
newList.addAll(listTwo);