8
ลบองค์ประกอบออกจากคอลเลกชันขณะทำซ้ำ
AFAIK มีสองวิธี: ทำซ้ำสำเนาของคอลเล็กชัน ใช้ตัววนซ้ำของการรวบรวมจริง ตัวอย่างเช่น List<Foo> fooListCopy = new ArrayList<Foo>(fooList); for(Foo foo : fooListCopy){ // modify actual fooList } และ Iterator<Foo> itr = fooList.iterator(); while(itr.hasNext()){ // modify actual fooList using itr.remove() } มีเหตุผลใดที่จะชอบแนวทางหนึ่งมากกว่าอีกวิธีหนึ่ง (เช่นเลือกแนวทางแรกด้วยเหตุผลง่าย ๆ ในการอ่าน)?
215
java
collections
iteration