import java.util.Random; import java.awt.Color; import java.awt.Point; public class DemoRandom { public static void main(String[] args ) { String[] list1 = { "A", "B", "C", "D", "E" }; Point[] list2 = { new Point(0, 0), new Point(1, 1) }; Color[] list3 = { Color.RED, Color.GREEN }; Object[] list4 = { new Point(1, 1), "E", Color.BLACK }; System.out.println ( "list1 = " + toText( list1 ) + "\n" ); System.out.println ( "list2 = " + toText( list2 ) + "\n" ); System.out.println ( "list3 = " + toText( list3 ) + "\n" ); System.out.println ( "list4 = " + toText( list4 ) + "\n" ); randomize( list1 ); randomize( list2 ); randomize( list3 ); randomize( list4 ); System.out.println ( "list1 = " + toText( list1 ) + "\n" ); System.out.println ( "list2 = " + toText( list2 ) + "\n" ); System.out.println ( "list3 = " + toText( list3 ) + "\n" ); System.out.println ( "list4 = " + toText( list4 ) + "\n" ); } public static String toText(Object[] list) { String result = "[ "; for (int i = 0; i < list.length; ++i) { result = result + list[i] + " "; } result = result + "]"; return result; } public static void randomize(Object[] list) { Random variate = new Random(); int n = list.length; for (int i = 0; i < n; ++i) { int offset = variate.nextInt(n-i); Object rmbr = list[i]; list[i] = list[i + offset]; list[i + offset] = rmbr; } } }