JAVA最新面試題分享

qianfeng_dashuju發表於2018-03-06

用程式給出隨便大小的10 個數,序號為1-10,按從小到大順序輸出,並輸出相應的序號。【基礎】

答:程式碼如下:

package test;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Iterator;

import java.util.List;

import java.util.Random;

public class RandomSort {

public static void printRandomBySort() {

Random random = new Random(); // 建立隨機數生成器

List list = new ArrayList();

// 生成10個隨機數,並放在集合list 中

for (int i = 0; i < 10; i++) {

list.add(random.nextInt(1000));

}

Collections.sort(list); // 對集合中的元素進行排序

Iterator it = list.iterator();

int count = 0;

while (it.hasNext()) { // 順序輸出排序後集閤中的元素

System.out.println(++count + ": " +it.next());

}

}

public static void main(String[] args) {

printRandomBySort();

}

}

80、用JAVA 實現一種排序,JAVA 類實現序列化的方法? 在COLLECTION 框架中,實現比較要實現什麼樣的介面?【基礎】

答:用插入法進行排序程式碼如下:

package test;

import java.util.*;

class InsertSort {

ArrayList al;

public InsertSort(int num,int mod) {

al = new ArrayList(num);

Random rand = new Random();

System.out.println("The ArrayList SortBefore:");

for (int i=0;i<num ;i++ ){

al.add(new Integer(Math.abs(rand.nextInt()) % mod +

1));

System.out.println("al["+i+"]="+al.get(i));

}

}

public void SortIt(){

tempInt;

int MaxSize=1;

for(int i=1;i<al.size();i++){

tempInt = (Integer)al.remove(i);

if(tempInt.intValue() >=

((Integer)al.get(MaxSize-1)).intValue()){

al.add(MaxSize,tempInt);

MaxSize++;

System.out.println(al.toString());

}else{

for (int j=0;j<MaxSize ;j++ ){

if (((Integer)al.get(j)).intValue()

>=tempInt.intValue()){

al.add(j,tempInt);

MaxSize++;

System.out.println(al.toString());

break;

}

}

}

}

System.out.println("The ArrayList SortAfter:");

for(int i=0;i<al.size();i++){

System.out.println("al["+i+"]="+al.get(i));

}

}

public static void main(String[] args){

InsertSort is = new InsertSort(10,100);

is.SortIt();

}

}

JAVA 類實現序例化的方法是實現java.io.Serializable介面;Collection 框架中實現比較要實現Comparable 介面和Comparator 介面。

相關文章