當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Collections shuffle()用法及代碼示例


Collections類shuffle()方法

用法:

    public static void shuffle(List l);
    public static void shuffle(List l, Random ran);
  • shuffle() 方法可在java.util包。
  • shuffle(List l) 方法默認情況下,用於隨機打亂給定列表的元素。
  • shuffle(List l, Random ran) 方法用於通過使用給定的 Random (ran) 對給定列表的元素進行混洗。
  • 這些方法可能會在對列表元素進行混洗時拋出異常。
    UnsupportedOperationException:當給定參數List(l)或其迭代器un-support設置操作時可能拋出此異常。
  • 這些是靜態方法,可以通過類名訪問,如果我們嘗試使用類對象訪問這些方法,那麽我們也不會收到任何錯誤。

參數:

  • 在第一種情況下,shuffle(List l),
    • List l- 表示用於洗牌的列表。
  • 在第一種情況下,shuffle(List l, Random ran),
    • List l- 表示用於洗牌的列表。
    • Random ran- 表示給定列表的隨機性方向。

返回值:

在這兩種情況下,方法的返回類型都是void,它不返回任何東西。

例:

// Java program to demonstrate the example 
// of shuffle() method of Collections

import java.util.*;

public class ShuffleOfCollections {
    public static void main(String args[]) {
        // Instantiates an array list object
        List < Integer > arr_l = new ArrayList < Integer > ();
        Random ran = new Random();

        // By using add() method is to add
        // objects in an array list
        arr_l.add(20);
        arr_l.add(10);
        arr_l.add(40);
        arr_l.add(30);
        arr_l.add(50);

        // Display ArrayList
        System.out.println("ArrayList:" + arr_l);

        // By using shuffle(arr_l) method is to shuffle
        // the elements of arr_l bydefault
        Collections.shuffle(arr_l);

        //Display Shuffle ArrayList
        System.out.println("Collections.shuffle(arr_l):" + arr_l);

        // By using shuffle(arr_l,ran) method is to shuffle
        // the elements of arr_l based on the defined randomness
        Collections.shuffle(arr_l, ran);


        // Display Shuffle ArrayList
        System.out.println("Collections.shuffle(arr_l,ran):" + arr_l);
    }
}

輸出

ArrayList:[20, 10, 40, 30, 50]
Collections.shuffle(arr_l):[40, 50, 10, 30, 20]
Collections.shuffle(arr_l,ran):[20, 30, 50, 10, 40]


相關用法


注:本文由純淨天空篩選整理自Preeti Jain大神的英文原創作品 Java Collections shuffle() Method with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。