JavaRush /Java блогу /Random-KY /Коллекциялар. Карта. Жок кылуу.
oktava
Деңгээл
Санкт-Петербург

Коллекциялар. Карта. Жок кылуу.

Группада жарыяланган
Кайырдуу күн. Маселе Карта жыйнагынан элементтерди кантип алып салууда турат . Мен дагы бир маселени чечүүгө аракет кылып жатам жана мен алдыга жыла албайм, анткени жыйнактан өчүрүү кандай принципте болуп жатканын түшүнбөйм. Идея коллекциядан окшош элементтерди алып салуу, салыштыруу баалуулук боюнча жүргүзүлөт. 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