日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java运用自身排序算法将数组或容器进行随机打乱。

發布時間:2023/12/10 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java运用自身排序算法将数组或容器进行随机打乱。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本思路:數組調用Arrays.sort(T[]?a,Comparator<? super T>?c),對Comparator進行重寫。運用Random類 ,實現對數字的隨機排序。

  • 對數字進行隨機排序。
  • ? ? ? ? 代碼如下:

    import java.util.Arrays; import java.util.Comparator; import java.util.Random;public class RandomSort {public static void main(String[] args) {//定義數組Integer []arr = {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8, 9};//定義隨機樹數Random r = new Random();//隨機排序Arrays.sort(arr , new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {//隨機比較大小,隨機生成0或1Integer flag = r.nextInt(2);if(flag == 0)return -1;else return 1;}});//輸出for(Integer ar : arr)System.out.print(ar + " ");}}

    輸出結果:

    2.對容器隨機排序:

    代碼如下:?

    import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Random;public class RandomSort {public static void main(String[] args) {//定義容器List<Integer> arr = new ArrayList<Integer>();//定義隨機樹數Random r = new Random();//添加元素for(int i = 0 ; i < 10 ; i ++)arr.add(i);//隨機排序Collections.sort(arr , new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {//隨機比較大小,隨機生成0或1Integer flag = r.nextInt(2);if(flag == 0)return -1;else return 1;}});//輸出Iterator<Integer> iter = arr.iterator();while(iter.hasNext()){System.out.print(iter.next() + " ");}}}

    輸出結果:

    3.對類進行排序:

    代碼如下:

    import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Random;//實現Comparable接口 class Number implements Comparable<Number> {private int a;public Number(int a ){this.a = a;}public int GetA(){return this.a;}@Overridepublic int compareTo(Number o) {Random r = new Random();Integer flag = r.nextInt(2);if(flag == 0)return -1;else return 1;} } public class RandomSort {public static void main(String[] args) {//定義容器List<Number> arr = new ArrayList<Number>();//添加數組{0 , 1 , 2 , 3 , 4 , , 5 , 6 , 7 , 8 , 9}for(int i = 0 ; i < 10 ; i ++)arr.add(new Number(i));//隨機排序Collections.sort(arr );//輸出Iterator<Number> iter = arr.iterator();while(iter.hasNext()){System.out.print(iter.next().GetA() + " ");}}}

    輸出結果:

    總結

    以上是生活随笔為你收集整理的Java运用自身排序算法将数组或容器进行随机打乱。的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。