當前位置:編程學習大全網 - 編程軟體 - Java文件編程問題

Java文件編程問題

第壹個問題:

//使用集合提供的工具和方法

公共靜態列表& lt整數& gt合並(列表& lt整數& gta、List & lt整數& gtb) {

//a,b不為空

//都放在壹個集合裏,這樣元素就可以合並了。

設置& lt整數& gtset = new HashSet & lt整數& gt(壹);

set . addall(b);

//將集合中的元素放入壹個列表中,然後將它們變成壹個數組。

integer[]array = new ArrayList & lt;整數& gt(設定)。toArray(新整數[1]);

//按升序排序

Arrays.sort(數組);

//將排序後的數組轉換為列表

返回arrays . as list(array);

}

//自己寫的算法,其中A是升序列表,B是降序列表。

公共靜態列表& lt整數& gtmerge2(列表& lt整數& gta、List & lt整數& gtb) {

//a,b不為空

int aSize = a . size();

int bSize = b . size();

列表& lt整數& gtresult = new ArrayList & lt整數& gt();

int aIndex = 0;//升序列表從第壹個地方開始。

int bIndex = bSize-1;//降序列表從末尾開始。

int aEl

int bEl

//循環終止條件:遍歷了A或B列表。

while(aIndex & lt;aSize & amp& ampbIndex & gt= 0) {

aEl = a . get(aIndex);

bEl = b . get(bIndex);

如果(aEl & ltbEl) {

result . add(aEl);

aindex++;

}否則{

result . add(bEl);

bIndex-;

}

}

//將未完成列表中的元素添加到結果中(包括任何列表為空的情況)。

if(aIndex & lt;aSize) {

for(int I = ain dex;我& ltaSizei++) {

result . add(a . get(I));

}

}

else if(bIndex & gt;0) {

for(int I = bIndex;我& gt= 0;我- ) {

result . add(b . get(I));

}

}

返回結果;

}

  • 上一篇:關於和好朋友做過的壹件事的300字作文
  • 下一篇:傑克·多西的編程能力
  • copyright 2024編程學習大全網