如何对List集合进行随机排列呢?

乔欣 Java经验 发布时间:2022-12-10 16:44:37 阅读数:7951 1
下文笔者讲述使用Java代码对集合随机排序的方法分享,如下所示
实现思路:
    Collections.shuffle方法即可实现对集合随机乱序

Collections.shuffle源码分析

public static void shuffle(list<?> list, Random rnd) {
    int size = list.size();
    if (size < SHUFFLE_THRESHOLD || list instanceof RandomAccess) {
        for (int i=size; i>1; i--)
            swap(list, i-1, rnd.nextInt(i));
    } else {
        Object arr[] = list.toArray();

        // Shuffle array
        for (int i=size; i>1; i--)
            swap(arr, i-1, rnd.nextInt(i));

        // Dump array back into list
        ListIterator it = list.listIterator();
        for (int i=0; i<arr.length; i++) {
            it.next();
            it.set(arr[i]);
        }
    }
}

Collections.shuffle示例

   List<Integer> list = new ArrayList<Integer>();
	list.add(888);
	list.add(999);
	list.add(777);

    //对list中的元素顺序进行随机修改
    Collections.shuffle(list);
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202212/16706634685105.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者