ขอให้เป็นวันที่ดี. คำถามคือจะลบองค์ประกอบออกจาก คอลเลกชัน
Map ได้ อย่างไร ฉันกำลังพยายามแก้ไขปัญหาอื่นและไม่สามารถก้าวไปข้างหน้าได้ เนื่องจากฉันไม่เข้าใจว่าหลักการลบออกจากคอลเลกชันเกิดขึ้นอย่างไร แนวคิดคือการลบองค์ประกอบที่เหมือนกันออกจากคอลเลกชัน การเปรียบเทียบทำได้โดยใช้ค่า จากการบรรยายระดับ 8 ฉันเข้าใจว่า "ตัววนซ้ำ" เป็นเหมือนลิงก์ไปยังคอลเล็กชันของเรา ดังนั้นฉันจึงสร้างลิงก์ดังกล่าว 2 ลิงก์ และโดยการเปรียบเทียบองค์ประกอบในคอลเลกชัน จึงตัดสินใจลบองค์ประกอบที่ลิงก์ (วัตถุ) ตัววนซ้ำ 2 อ้างถึง อธิบายว่าทำไมฉันถึงทำผิด ฉันอยากจะเข้าใจจริงๆว่าฉันผิดตรงไหน ขอบคุณทุกคนที่จะตอบสนอง อีกทางเลือกหนึ่งสำหรับการดำเนินการลบออกจากคอลเลกชัน
for (Iterator
> iterator1 = map.entrySet().iterator(); iterator1.hasNext();){ HashMap.Entry
pair1 = iterator1.next(); for (Iterator
> iterator2 = map.entrySet().iterator(); iterator2.hasNext();) { HashMap.Entry
pair2 = iterator2.next(); if(pair1.getValue().equals(pair2.getValue())){ map.remove(pair2.getKey()); } } }
Iterator
> iterator1 = map.entrySet().iterator(); while(iterator1.hasNext()){ Map.Entry
pair1 = iterator1.next(); Iterator
> iterator2 = map.entrySet().iterator(); while(iterator2.hasNext()){ Map.Entry
pair2 = iterator2.next(); if (pair1.getValue().equals(pair2.getValue())){ iterator2.remove(); } } }
GO TO FULL VERSION