如何对List集合进行随机排列呢?
下文笔者讲述使用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);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。