JavaRush /Java Blogu /Random-AZ /Kolleksiyalar. Xəritə. Sil.
oktava
Səviyyə
Санкт-Петербург

Kolleksiyalar. Xəritə. Sil.

Qrupda dərc edilmişdir
Yaxşı gün. Sual, Xəritə kolleksiyasından elementləri necə silməkdir . Mən başqa bir problemi həll etməyə çalışıram və irəli gedə bilmirəm, çünki kolleksiyadan silinmənin hansı prinsiplə baş verdiyini başa düşmürəm. İdeya kolleksiyadan eyni elementləri silməkdir; müqayisə dəyər əsasında aparılır. 8-ci səviyyəli mühazirələrdən başa düşdüm ki, "iterator" bizim kolleksiyamıza keçid kimi bir şeydir. Buna görə də 2 belə keçid yaratdım və kolleksiyadakı elementləri müqayisə edərək, bu keçidin (obyektin) iterator2 istinad etdiyi elementləri silmək qərarına gəldim. Niyə səhv etdiyimi izah edin. Mən həqiqətən harada səhv etdiyimi başa düşmək istəyirəm. Cavab verəcək hər kəsə təşəkkürlər. Kolleksiyadan çıxarılmasını həyata keçirmək üçün başqa bir seçim 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(); } } }
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION