دانستنیها
چگونه عناصر یک آرایه را در جاوا بُر میزنیم

اگر بخواهید ترتیب قرار گرفتن عناصر یک آرایه را به صورت رندوم کنید و به اصطلاح یک آرایه را بُر بزنید چه راهی به ذهنتان میرسد؟
احتمالا خیلی از افراد از ابتدا به کد زیر فکر میکنند.
public static int[] RandomizeArray(int[] array) { Random rgen = new Random(); // Random number generator for (int i = 0; i < array.length; i++) { int randomPosition = rgen.nextInt(array.length); int temp = array[i]; array[i] = array[randomPosition]; array[randomPosition] = temp; } return array; }
در این کد به صورت دستی موقعیت هر عنصر از آرایه را تغییر میدهیم.
اما راه حل دوم آن استفاده از تابع Collection.shuffle هست که به شکل زیر از آن به سادگی استفاده میشود.
Integer[] array = new Integer[] { 1, 2, 3, 4 }; Collections.shuffle(Arrays.asList(array));
البته دقت کنید که در کد بالا از Integer به جای int استفاده شده و درواقع کد زیر کار نمیکند.
int[] array = new int[]{1, 2, 3, 4}; //does not work Collections.shuffle(Arrays.asList(array));
چرا که Arrays.asList(array) مقدار Collection<int[]> را به جای Collection<Integer> برمیگرداند.
منابع:
نسخه جدید سایت مبارکه!