JavaRush /Java 博客 /Random-ZH /收藏。地图。删除。
oktava
第 23 级
Санкт-Петербург

收藏。地图。删除。

已在 Random-ZH 群组中发布
再会。问题是如何从Map集合中删除元素。我正在尝试解决另一个问题,但无法继续前进,因为我不明白从集合中删除的原理是什么。这个想法是从集合中删除相同的元素,比较是按值完成的。从第 8 级讲座中我了解到“迭代器”就像是我们集合的链接。因此,我创建了 2 个这样的链接,并通过比较集合中的元素,决定删除此链接(对象)iterator2 引用的元素。解释一下我为什么做错了。我真的很想明白我哪里错了。感谢所有愿意回复的人。 实现从集合中删除的另一种选择 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