การจัดเรียงและการรวมกันของอาร์เรย์ Java หลายรายการเนื้อหาเฉพาะมีดังนี้
หมายเหตุ: มีชุดโทรศัพท์มือถือที่มีสีขนาดและรุ่นต่าง ๆ และจากนั้นพวกเขาจำเป็นต้องรวมคุณลักษณะต่าง ๆ ระหว่างพวกเขา
กำหนดคุณลักษณะต่างๆ
สตริง [] color = {"สีแดง", "ขาว", "สีน้ำเงิน", "ทอง"}; string [] size = {"4.7 นิ้ว", "5.1 นิ้ว", "6.0 นิ้ว"}; สตริง [] เวอร์ชัน = {"unicom", "โทรคมนาคม", "มือถือ", "Enterprise"};มาดูผลลัพธ์ก่อน
สีแดง 4.7 นิ้วการเข้าถึงเครือข่ายเต็มรูปแบบ
สีแดง, 4.7 นิ้ว, มือถือ,
สีแดง, 4.7 นิ้ว, โทรคมนาคม,
สีแดง, 4.7 นิ้ว, unicom,
สีแดง, 5.1 นิ้ว, การเข้าถึงเครือข่ายแบบเต็ม,
สีขาว 5.1 นิ้วมือถือ
สีขาว, 5.1 นิ้ว, unicom,
สีขาว, 6.0 นิ้ว, การเข้าถึงเครือข่ายเต็มรูปแบบ, ………………ฉันเพิ่งโพสต์มากมายมันควรจะเข้าใจได้
ตกลงเพิ่มรหัส
โมฆะสาธารณะ doexchange (รายการ arraylists) {int len = arraylists.size (); // ตัดสินว่าขนาดอาร์เรย์น้อยกว่า 2 ถ้าน้อยกว่านั้นหมายความว่าการเสร็จสิ้นการเรียกซ้ำเสร็จสมบูรณ์หรือไม่ มิฉะนั้นคุณเข้าใจอะไรไม่เข้าใจ ดูรหัสเป็นระยะ ๆ ถ้า (len <2) {this.arraylists = arraylists; กลับ; } // รับอาร์เรย์แรก int len0; if (arraylists.get (0) string ของ string []) {string [] arr0 = (string []) arraylists.get (0); len0 = arr0.length; } else {len0 = ((arraylist <String>) arraylists.get (0)). size (); } // รับสตริงอาร์เรย์ที่สอง [] arr1 = (string []) arraylists.get (1); int len1 = arr1.length; // คำนวณจำนวนชุดค่าผสมของสองอาร์เรย์สามารถสร้าง int lenboth = len0*len1; // กำหนดชุดการจัดเก็บข้อมูลชั่วคราวของ ArrayList ARRAY ARRAYLIST <ArrayList <String>> TemparrayLists = new ArrayList <> (Lenboth); // เลเยอร์แรกสำหรับเป็นองค์ประกอบแรกของ arraylists วนรอบ (int i = 0; i <len0; i ++) {// เลเยอร์ที่สองสำหรับองค์ประกอบที่สองของลูป Arraylists (int j = 0; j <len1; j ++) {// ตัดสินองค์ประกอบแรกหากองค์ประกอบแรกคือคำอธิบาย String []) {string [] arr0 = (string []) arraylists.get (0); ArrayList <String> arr = arrayList ใหม่ <> (); arr.add (arr0 [i]); arr.add (arr1 [j]); // เพิ่มข้อมูลการจัดเรียงให้กับชุดชั่วคราว temparraylists.add (arr); } else {// ณ จุดนี้เป็นที่ชัดเจนว่ามีอย่างน้อยหนึ่งรอบ เรานำผลลัพธ์ของรอบก่อนหน้าและจัดเรียงองค์ประกอบถัดไปของ ArrayLists ArrayList <arrayList <String>> arrtemp = (arrayList <arraylist <String>>) arraylists.get (0); ArrayList <String> arr = arrayList ใหม่ <> (); สำหรับ (int k = 0; k <arrtemp.get (i) .size (); k ++) {arr.add (arrtemp.get (i) .get (k)); } arr.add (arr1 [j]); temparraylists.add (arr); }}} // นี่คือคอลเลกชันที่สร้างขึ้นใหม่ตามรายการการจัดเรียงข้างต้น newarraylists = new ArrayList <> (); // แพ็คอาร์เรย์ที่ยังไม่ได้รับการจัดเรียงและดูอย่างชัดเจน i = 2 เนื่องจากสองอาร์เรย์แรกเสร็จแล้วไม่จำเป็นต้องเพิ่มอีกครั้งสำหรับ (int i = 2; i <arraylists.size (); i ++) {newarraylists.add (arraylists.get (i)); } // อย่าลืมเพิ่มข้อมูลที่เราได้ทำงานอย่างหนักเพื่อจัดเรียงไปยังสถานที่แรกในชุดใหม่ไม่เช่นนั้นมันจะไร้ประโยชน์ที่จะเป็น Newarraylists.add (0, Temparraylists); // คุณอ่านถูกต้องอัลกอริทึมทั้งหมดของเราใช้แนวคิดการเรียกซ้ำ Doexchange (Newarraylists); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น