การวิจัยหลักในบทความนี้คือเนื้อหาที่เกี่ยวข้องของวิธีการสะสม shuffle () มาดูเนื้อหาเฉพาะด้านล่าง
มีวิธีการสลับแบบคงที่ () ภายใต้คลาส java.util.collections ดังต่อไปนี้:
1) การสลับโมฆะแบบคงที่ (รายการ <?> รายการ) ใช้แหล่งสุ่มเริ่มต้นเพื่อบิดเบือนรายการและความเป็นไปได้ของการเรียงสับเปลี่ยนทั้งหมดที่เกิดขึ้นนั้นเท่ากัน
2) การสลับโมฆะแบบคงที่ (รายการ <?> รายการสุ่มแรนด์) ดำเนินการรายการที่ระบุโดยใช้แหล่งสุ่มที่ระบุ ความเป็นไปได้ของการเรียงสับเปลี่ยนทั้งหมดที่เกิดขึ้นนั้นเท่ากันโดยสมมติว่าแหล่งสุ่มนั้นยุติธรรม
หากต้องการพูดง่ายๆมันเป็นเหมือนการสับเปลี่ยนแบบสุ่มรบกวนคำสั่งดั้งเดิม
หมายเหตุ: หากคุณได้รับอาร์เรย์จำนวนเต็มให้ใช้เมธอด array.aslist () เพื่อแปลงเป็นคลาสคอลเลกชันมีสองวิธี:
1) ใช้รายการ <จำนวนเต็ม> list = arrayList (array.aslist (IA)) และใช้ shuffle () เพื่อขัดขวางมันจะไม่เปลี่ยนลำดับของอาร์เรย์พื้นฐาน
2) ใช้รายการ <จำนวนเต็ม> list = array.aslist (IA) จากนั้นใช้ shuffle () เพื่อขัดขวางมันจะเปลี่ยนลำดับของอาร์เรย์พื้นฐาน ตัวอย่างรหัสมีดังนี้:
แพ็คเกจ ahu; นำเข้า java.util.*; คลาสสาธารณะแก้ไข {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {สุ่มแรนด์ = ใหม่สุ่ม (47); จำนวนเต็ม [] ia = {0,1,2,3,4,5,6,7,7,8,9}; arraylist <Integer> (array.aslist (ia)); system.out.println ("ก่อน shufflig:"+list); collections.shuffle (รายการ, rand); system.out.println ("หลังจาก shuffling:"+list); system.out.out.println ( list1 = arrays.aslist (ia); system.out.println ("ก่อนสับเปลี่ยน:"+list1); collections.shuffle (list1, rand); system.out.println ("หลังจากสับเปลี่ยน:"+list1); system.out.println ("อาร์เรย์:"ผลการดำเนินการมีดังนี้:
3, 9] หลังจากสับเปลี่ยน: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] หลังจากสับเปลี่ยน: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] หลังจากสับ: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9] 2, 3, 4, 5, 6, 7, 8, 9] หลังจากสับเปลี่ยน: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] หลังจากสับเปลี่ยน: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7]
ในกรณีแรกเอาต์พุตของอาร์เรย์ ASlist () จะถูกส่งผ่านไปยังตัวสร้างของ ArrayList () ซึ่งสร้าง ArrayList ที่อ้างอิงองค์ประกอบของ IA ดังนั้นการรบกวนการอ้างอิงเหล่านี้จึงไม่ได้แก้ไขอาร์เรย์ อย่างไรก็ตามหากใช้ผลของอาร์เรย์ Aslist (IA) โดยตรงการหยุดชะงักนี้จะแก้ไขลำดับของ IA เป็นสิ่งสำคัญที่จะต้องตระหนักว่ารายการรายการที่ผลิตโดย array.aslist () จะใช้อาร์เรย์พื้นฐานเป็นการใช้งานทางกายภาพ ตราบใดที่การกระทำที่คุณดำเนินการจะแก้ไขรายการนี้และคุณไม่ต้องการให้อาร์เรย์ดั้งเดิมได้รับการแก้ไขคุณควรสร้างสำเนาในคอนเทนเนอร์อื่น
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการวิเคราะห์ตัวอย่างวิธีการของคอลเลกชัน shuffle () ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!