JavaRush /จาวาบล็อก /Random-TH /คอลเลกชัน แผนที่. ลบ.
oktava
ระดับ
Санкт-Петербург

คอลเลกชัน แผนที่. ลบ.

เผยแพร่ในกลุ่ม
ขอให้เป็นวันที่ดี. คำถามคือจะลบองค์ประกอบออกจาก คอลเลกชัน 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(); } } }
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION