当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。