Java Collections shuffle()方法和示例

集合类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)或其迭代器不支持set操作时,可能引发此异常。

  • 这些是静态方法,可以通过类名进行访问,如果尝试使用类对象访问这些方法,则也不会出现任何错误。

参数:

  • 在第一种情况下,shuffle(List l)

    • 列表l –表示要改组的列表。

  • 在第一种情况下,shuffle(List l,Random ran)

    • 列表l –表示要改组的列表。

    • 随机运行-表示给定列表的随机方向。

返回值:

在这两种情况下,方法的返回类型均为void,它不返回任何内容。

示例

//Java程序演示示例 
//的shuffle()的类别方法

import java.util.*;

public class ShuffleOfCollections {
    public static void main(String args[]) {
        //实例化数组列表对象
        List < Integer > arr_l = new ArrayList < Integer > ();
        Random ran = new Random();

        //通过使用add()方法是添加
        //数组列表中的对象
        arr_l.add(20);
        arr_l.add(10);
        arr_l.add(40);
        arr_l.add(30);
        arr_l.add(50);

        //显示ArrayList-
        System.out.println("ArrayList: " + arr_l);

        //通过使用shuffle(arr_l)方法是随机播放
        //默认情况下arr_l的元素
        Collections.shuffle(arr_l);

        //显示随机播放ArrayList-
        System.out.println("Collections.shuffle(arr_l): " + arr_l);

        //通过使用shuffle(arr_l,ran)方法是随机播放
        //基于定义的随机性的arr_1的元素
        Collections.shuffle(arr_l, ran);


        //显示随机播放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]