編程題目:
3.從1~100共100個自然數中隨機選取10個不重複自然數添加進一個List集合中,然後對這個List集合進行排序並打印出來。
示例代碼:
package program.collection.exercise03;
import java.util.*;
/**
* 3.從1~100共100個自然數中隨機選取10個不重複自然數添加進一個List集合中,
* 然後對這個List集合進行排序並打印出來。
*/
public class ListSort{
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
addList(list);
sortList(list);
}
private static void addList(List<Integer> list){
int[] num = new int[100];
for(int i=0;i<num.length;i++){
num[i] = i+1;
}
for(int i=0;i<10;i++){
while (true) {
int index = (int) (Math.random()*num.length);
if(num[index] != 0){
list.add(num[index]);
num[index] = 0;
break;
}
}
}
System.out.println("List集合排序前:");
for(int i=0;i<list.size();i++){
System.out.println("List["+i+"]="+list.get(i));
}
}
private static void sortList(List<Integer> list){
Collections.sort(list,new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
if(o1 < o2){
return -1;
}else if(o1 > o2){
return 1;
}else{
return 0;
}
}
});
System.out.println("List集合排序後:");
for(int i=0;i<list.size();i++){
System.out.println("List["+i+"]="+list.get(i));
}
}
}
結果顯示: