ฉันจำได้ว่ามีปัญหากับการใช้ For Loop เพื่อลบองค์ประกอบในรายการ แต่คุณสามารถใช้การปรับปรุงสำหรับลูป จากนั้นวันนี้ฉันพบว่ามีการรายงานข้อผิดพลาดเมื่อใช้แล้วก็ไปที่วิทยาศาสตร์และพบว่านี่เป็นความเข้าใจผิด มาพูดถึงเรื่องนี้กันเถอะ - เอื้อมมือออกไปและข้ามไปยังจุดสิ้นสุดของบทความโดยตรง ดูสรุป -
มีสามวิธีในการวนรอบรายการการสำรวจใน Java เพิ่มการวนรอบ (นั่นคือที่รู้จักกันทั่วไปว่า Foreach Loop) และ Iterator Traversal
1. สำหรับรายการการสำรวจแบบวนรอบ
สำหรับ (int i = 0; i <list.size (); i ++) {ถ้า (list.get (i) .equals ("del")) list.remove (i);}ปัญหาเกี่ยวกับวิธีนี้คือหลังจากลบองค์ประกอบขนาดของการเปลี่ยนแปลงรายการและการเปลี่ยนแปลงดัชนีของคุณซึ่งจะทำให้คุณพลาดองค์ประกอบบางอย่างในระหว่างการสำรวจ ตัวอย่างเช่นเมื่อคุณลบองค์ประกอบแรกและเข้าถึงองค์ประกอบที่สองต่อไปตามดัชนีเนื่องจากองค์ประกอบหลังจากความสัมพันธ์ที่ถูกลบจะถูกย้ายทีละหนึ่งการเข้าถึงองค์ประกอบที่สามจริง ดังนั้นวิธีนี้สามารถใช้เมื่อลบองค์ประกอบเฉพาะ แต่ไม่เหมาะสมเมื่อลบองค์ประกอบหลายอย่างในลูป
2. เพิ่มการวนรอบ
สำหรับ (String x: list) {if (x.equals ("del")) list.remove (x);}ปัญหาเกี่ยวกับวิธีนี้คือหลังจากลบองค์ประกอบข้อความแสดงข้อผิดพลาดจะถูกรายงานโดยการวนซ้ำต่อไปเนื่องจากการปรับเปลี่ยนพร้อมกันเกิดขึ้นเมื่อใช้องค์ประกอบทำให้เกิดข้อยกเว้น อย่างไรก็ตามหากคุณใช้ Break เพื่อข้ามออกทันทีหลังจากการลบข้อผิดพลาดจะไม่ถูกทริกเกอร์
3. Iterator Traversal
Iterator <String> it = list.iterator (); ในขณะที่ (it.hasnext ()) {string x = it.next (); if (x.equals ("del")) {it.remove (); -วิธีนี้สามารถวนและลบได้ตามปกติ แต่ควรสังเกตว่าหากคุณใช้วิธีการลบของตัววนซ้ำหากคุณใช้วิธีการลบของรายการคุณจะรายงานข้อผิดพลาดพร้อมกัน Exception พร้อมกันที่กล่าวถึงข้างต้น
สรุป:
(1) หากคุณวนซ้ำเพื่อลบองค์ประกอบเฉพาะในรายการคุณสามารถใช้วิธีการใด ๆ ในสามวิธีใด ๆ แต่คุณควรให้ความสนใจกับปัญหาต่าง ๆ ที่วิเคราะห์ข้างต้นเมื่อใช้งาน
(2) หากคุณวนลูปเพื่อลบหลายองค์ประกอบในรายการคุณควรใช้วิธีการวนซ้ำ
บทสรุปข้างต้นของวิธีการลบองค์ประกอบข้างต้นในรายการใน Java คือเนื้อหาทั้งหมดที่ใช้ร่วมกันโดยตัวแก้ไข ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น