Рӯзи нағз. Савол ин аст, ки чӣ гуна элементҳоро аз коллексияи
Map хориҷ кардан мумкин аст . Ман кӯшиш мекунам, ки мушкилоти дигарро ҳал кунам ва ман пеш рафта наметавонам, зеро ман намефаҳмам, ки ҳазф аз маҷмӯа чӣ гуна аст. Идеяи он аст, ки унсурҳои якхела аз коллексия хориҷ карда шаванд, муқоиса бо арзиш анҷом дода мешавад. Аз лексияҳои сатҳи 8 ман фаҳмидам, ки "итератор" чизе монанди пайванд ба коллексияи мост. Аз ин рӯ, ман 2 чунин пайвандро эҷод кардам ва бо муқоисаи унсурҳои коллексия тасмим гирифтам, ки элементҳоеро, ки ин пайванд (an object) 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(); } } }
GO TO FULL VERSION