JavaRush /Java Blog /Random-TL /Mga koleksyon. Mapa. Tanggalin.
oktava
Antas
Санкт-Петербург

Mga koleksyon. Mapa. Tanggalin.

Nai-publish sa grupo
Magandang araw. Ang tanong ay kung paano mag-alis ng mga elemento mula sa koleksyon ng Map . Sinusubukan kong lutasin ang isa pang problema at hindi ako maaaring sumulong, dahil hindi ko maintindihan kung anong prinsipyo ang nangyayari sa pagtanggal sa koleksyon. Ang ideya ay alisin ang magkaparehong elemento mula sa isang koleksyon; ang paghahambing ay ginagawa ayon sa halaga. Mula sa level 8 na mga lektura, naunawaan ko na ang "iterator" ay parang link sa aming koleksyon. Samakatuwid, gumawa ako ng 2 ganoong link at, sa pamamagitan ng paghahambing ng mga elemento sa koleksyon, nagpasyang tanggalin ang mga elemento kung saan tinutukoy ng link (object) na ito ang iterator2. Ipaliwanag kung bakit mali ang ginagawa ko. Gusto ko talagang intindihin kung saan ako nagkamali. Salamat sa lahat ng sasagot. Isa pang opsyon para sa pagpapatupad ng pag-alis mula sa isang koleksyon 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(); } } }
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION