JavaRush /Блоги Java /Random-TG /Маҷмӯаҳо. Харита. Нобуд кунед.
oktava
Сатҳи
Санкт-Петербург

Маҷмӯаҳо. Харита. Нобуд кунед.

Дар гурӯҳ нашр шудааст
Рӯзи нағз. Савол ин аст, ки чӣ гуна элементҳоро аз коллексияи 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(); } } }
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION