ArrayList ไม่มีวิธีการซ้ำซ้อนแบบแพคเกจ ตัวอย่างเช่นสำหรับ arraylist ของ [2, 5, 2, 3, 2, 4] ฉันต้องการลบองค์ประกอบที่ซ้ำกันในนั้น
ฉันไม่ต้องการที่จะทำคำสั่งมานานและฉันไม่ต้องการใช้วิธีการวนรอบเพื่อหักล้างมัน จากนั้นฉันสามารถพิจารณาแปลง ArrayList เป็น Hashset ชั่วคราวจากนั้นแปลง Hashset ชั่วคราวกลับไปเป็น ArrayList เนื่องจากองค์ประกอบใน Hashset ไม่สามารถทำซ้ำได้! สำหรับสิ่งที่ ArrayList และ Hashset เป็นมันได้รับการอธิบายอย่างชัดเจนใน "คำอธิบายโดยละเอียดของคลาสคอลเลกชันใน Java" ดังนั้นฉันจะไม่ทำซ้ำที่นี่
คุณสามารถเขียนด้วยวิธีนี้:
HashSet <Integer> hashset_temp = new hashset <integer> (arraylist);
arrayList = new ArrayList <integer> (hashset_temp);
นอกจากนี้ยังสามารถเขียนได้อย่างรัดกุมมากขึ้นและแม้แต่ตัวแปร hashset_temp ชั่วคราวก็ไม่จำเป็น:
arrayList = new ArrayList <Integer> (Hashset ใหม่ <Integer> (ArrayList));
หลังจากนั้นองค์ประกอบของ ArrayList จะกลายเป็น [2, 3, 4, 5]
ต่อไปฉันจะแบ่งปันสองวิธีในการลบโหลดหนักจาก ArrayList กับคุณ
// ทำซ้ำวิธีหนึ่ง
arraylist ส่วนตัว removedUplicatenum (รายการ ArrayList) {list.sort (); สำหรับ (int i = 0; i <list.count-1; i ++) {ถ้า (รายการ [i] .equals (รายการ [i+1])) {list.removeat (i); // รายการหัก }} รายการส่งคืน; - // ทำซ้ำวิธีที่สอง
arraylist ส่วนตัวลบ (รายการ ArrayList) {// ประโยคที่เขียนด้านบนซ้ำซ้อนนี่คือสุดท้ายสำหรับ (int i = 0; i <list.count - 1; i ++) {สำหรับ (int j = i+1; j <list.count; j ++) {ถ้า (รายการ [i] J--; }}} รายการส่งคืน; -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น