Penelitian utama dalam artikel ini adalah konten yang relevan dari metode Collections.Shuffle (). Mari kita lihat konten spesifik di bawah ini.
Ada metode shuffle statis () di bawah kelas java.util.collections, sebagai berikut:
1) Static Void Shuffle (Daftar <?> Daftar) Gunakan sumber acak default untuk memutarbalikkan daftar, dan kemungkinan semua permutasi terjadi kira -kira sama.
2) Static void shuffle (daftar <?> Daftar, rand acak) melakukan daftar yang ditentukan menggunakan sumber acak yang ditentukan. Kemungkinan semua permutasi terjadi kira -kira sama, dengan asumsi bahwa sumber acak itu adil.
Sederhananya, itu seperti shuffle, secara acak mengganggu urutan aslinya.
Catatan: Jika Anda diberi array integer, gunakan metode arrays.aslist () untuk mengubahnya menjadi kelas koleksi, ada dua cara:
1) Gunakan daftar <integer> Daftar = ArrayList (arrays.aslist (IA)), dan gunakan shuffle () untuk mengganggu itu tidak akan mengubah urutan array yang mendasarinya.
2) Gunakan daftar <integer> daftar = arrays.aslist (IA), dan kemudian gunakan shuffle () untuk mengganggu itu akan mengubah urutan array yang mendasarinya. Contoh kode adalah sebagai berikut:
paket ahu; import java.util.*; kelas publik memodifikasi {public static void main (string [] args) {acak rand = baru acak (47); integer [] ia = {0,1,2,3,5,5,7,8,9}; daftar <integer> Daftar = baru = baru ArrayList <Integer> (arrays.aslist (IA)); System.out.println ("sebelum shufflig:"+list); collections.shuffle (list, rand); System.out.println ("After menyeret:"+daftar); System.out.println ("array:"+arrays.tostring); System.out.println ("array:"+arrays.tostring); list1 = arrays.aslist (ia); System.out.println ("Sebelum mengocok:"+list1); collections.shuffle (list1, rand); System.out.println ("Setelah mengocok:"+list1); System.out.println ("array:"+arrays.tostring (ia));Hasil operasi adalah sebagai berikut:
3, 9] Setelah mengocok: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Setelah mengocok: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Setelah mengocok: [0, 1, 2, 3, 4, 5, 7, 8, 8, 9] setelah mengocok: [0, 1, 2, 2, 2, 2, 4, 6, 8, 8, 8, 9, [0, 1, 2, 2, 2, 2, 2, 2, 4, 6, 8, 6, 6, 6, 6, 4, 4, 4, 6, 4, 4, 6, 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 2, 3, 4, 5, 6, 7, 8, 9] Setelah mengocok: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Setelah mengocok: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7] Setelah mengocok: [8, 0, 5, 2, 6, 1, 4, 9, 7, 7]
Dalam kasus pertama, output dari arrays.aslist () diteruskan ke konstruktor arraylist (), yang membuat daftar array yang merujuk elemen IA, sehingga mengganggu referensi ini tidak memodifikasi array. Namun, jika hasil arrays.aslist (IA) digunakan secara langsung, gangguan ini akan memodifikasi urutan IA. Penting untuk disadari bahwa objek daftar yang diproduksi oleh arrays.aslist () akan menggunakan array yang mendasari sebagai implementasi fisiknya. Selama tindakan yang Anda lakukan akan memodifikasi daftar ini dan Anda tidak ingin array asli dimodifikasi, Anda harus membuat salinan di wadah lain.
Meringkaskan
Di atas adalah semua konten dari artikel ini tentang analisis collections.shuffle () Contoh metode, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!