3 คำตอบ. คุณไม่สามารถแก้ไขคอลเล็กชันในขณะที่วนซ้ำโดยใช้ Iterator ยกเว้น Iterator ลบ. สิ่งนี้ใช้ได้ยกเว้นเมื่อรายการเริ่มต้นการวนซ้ำว่างเปล่า ในกรณีนี้จะไม่มีองค์ประกอบก่อนหน้า
เราแก้ไขคอลเลกชันในขณะที่วนซ้ำได้ไหม
ในแต่ละวง เราไม่สามารถแก้ไขคอลเลกชัน มันจะโยน ConcurrentModificationException ในทางกลับกันด้วยตัววนซ้ำ เราสามารถแก้ไขคอลเลกชันได้
เราเพิ่มองค์ประกอบใน ArrayList ในขณะที่วนซ้ำได้ไหม
3. ArrayList listIterator – เพิ่ม/ลบ ListIterator รองรับการเพิ่มและลบองค์ประกอบในรายการในขณะที่เรากำลังวนซ้ำอยู่
คุณจะเพิ่มรายการในขณะที่วนซ้ำได้อย่างไร
ใช้รายการ. ผนวกเพื่อผนวกองค์ประกอบเข้ากับรายการในขณะที่วนซ้ำรายการ
- a_list=["a", "b", "c"]
- list_length=len(a_list)
- สำหรับฉันในช่วง(list_length):
- a_list. ผนวก("องค์ประกอบใหม่")
- พิมพ์(a_list)
เราเพิ่มองค์ประกอบโดยใช้ตัววนซ้ำได้ไหม
Java Tutorial จาก Sun แนะนำว่าเป็นไปไม่ได้: "โปรดทราบว่า Iterator การลบเป็นวิธีเดียวที่ปลอดภัยในการแก้ไขคอลเล็กชันระหว่างการวนซ้ำ การทำงานจะไม่ถูกระบุหากคอลเล็กชันพื้นฐานถูกแก้ไขในลักษณะอื่นใดในขณะที่ กำลังดำเนินการวนซ้ำ"