java中的排列/置乱arraylist元素

java中的排列/置乱arraylist元素,java,data-structures,random,arraylist,permutation,Java,Data Structures,Random,Arraylist,Permutation,假设我有一个整数数组列表…有没有一种方法可以生成数组列表中元素的随机排列/排列 如果列表是{1,2,3,4,5,6} 调用某个方法randomPermute()会将其更改为类似 {1,3,2,6,5,4}集合。shuffle()执行以下操作: publicstaticvoidshuffle(列表)- 使用默认的随机性源随机排列指定的列表。所有排列都以近似相等的可能性发生。 比如说 ArrayList<Integer>anArrayList = new ArrayList&l

假设我有一个整数数组列表…有没有一种方法可以生成数组列表中元素的随机排列/排列

如果列表是{1,2,3,4,5,6}

调用某个方法randomPermute()会将其更改为类似

{1,3,2,6,5,4}

集合。shuffle()执行以下操作:

publicstaticvoidshuffle(列表)
- 使用默认的随机性源随机排列指定的列表。所有排列都以近似相等的可能性发生。

比如说

    ArrayList<Integer>anArrayList = new ArrayList<Integer>();
    anArrayList.add(1);
    anArrayList.add(2);
    anArrayList.add(3);
    anArrayList.add(4);
    anArrayList.add(5);
    System.out.println(anArrayList);
    Collections.shuffle(anArrayList);
    System.out.println(anArrayList);
您可以使用:通过位置1到n−1,对于每个位置,我将当前所在的元素与从位置i到n(包括)任意选择的元素交换

编辑:霍奇的答案更好。:)

一个简单的例子:

ArrayList<MyObject> myObjects = new ArrayList<MyObject>();
//code -- load myObjects...

Collections.shuffle(myObjects);
ArrayList myObjects=new ArrayList();
//代码--加载MyObject。。。
收藏。洗牌(MyObject);
ArrayList<MyObject> myObjects = new ArrayList<MyObject>();
//code -- load myObjects...

Collections.shuffle(myObjects);