JavaでArrayList要素をどのように組み合わせますか?

このコードは、ランダムな ArrayList を作成する方法を示しています。関数 Collections.shuffle() (フランス語で「ミックス」)。メソッド shuffle() 実行するたびに異なる結果を返します:

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

public class ShuffleArrayList {

public static void main(String a[]){
ArrayList<文字列>arlist = new ArrayList<文字列>();
//要素を追加
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("変更前: "+arlist);

System.out.println("変更後:");

//シャッフルメソッドを5回呼び出します
//結果を区別するために
for(int i =0; i<5;i++){
Collections.shuffle(arlist);
System.out.println(arlist);
}
}
}
ランタイム:

変更前: [1, 2, 3, 4, 5, 6, 7, 8]
変更後:
[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]