3、List集合添加元素並排序

編程題目:

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);

    }

    //添加List集合
    private static void addList(List<Integer> list){

        int[] num = new int[100];

        //獲取100個自然數(1~100)
        for(int i=0;i<num.length;i++){
            num[i] = i+1;
        }

        //隨機選取10個不重複自然數添加進List集合
        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));
        }

    }

    //排序List集合
    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));
        }

    }
}

結果顯示:

這裏寫圖片描述

發佈了79 篇原創文章 · 獲贊 24 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章