Comment mélanger les éléments de ArrayList en Java?

Ce code montre comment créer une ArrayList aléatoire. Vous pouvez mélanger les objets en appelant la fonction Collections.shuffle() (en français "mélanger"). La méthode shuffle() retourne des résultats différents après chaque exécution:

import java.util.ArrayList;
import java.util.Collections;

public class ShuffleArrayList {

public static void main(String a[]){
ArrayList<String> arlist = new ArrayList<String>();
//ajouter les éléments
arlist.add("1");
arlist.add("2");
arlist.add("3");
arlist.add("4");
arlist.add("5");
arlist.add("6");
arlist.add("7");
arlist.add("8");

System.out.println("Avant : "+arlist);

System.out.println("Après : ");

//on va appeler la méthode shuffle 5 fois
//pour distinguer les résultats
for(int i =0; i<5;i++){
Collections.shuffle(arlist);
System.out.println(arlist);
}
}
}
Exécution:

Avant : [1, 2, 3, 4, 5, 6, 7, 8]
Après :
[1, 6, 4, 3, 7, 8, 2, 5]
[6, 2, 1, 5, 3, 8, 7, 4]
[7, 3, 2, 4, 8, 1, 5, 6]
[5, 3, 4, 1, 2, 6, 8, 7]
[8, 5, 4, 1, 2, 3, 7, 6]