JavaRush /Java Blog /Random-IT /Collezioni. Carta geografica. Eliminare.
oktava
Livello 23
Санкт-Петербург

Collezioni. Carta geografica. Eliminare.

Pubblicato nel gruppo Random-IT
Buona giornata. La domanda è come rimuovere elementi dalla raccolta Map . Sto cercando di risolvere un altro problema e non riesco ad andare avanti, perché non capisco su quale principio avviene la cancellazione dalla collezione. L'idea è quella di rimuovere elementi identici da una collezione, il confronto viene effettuato in base al valore. Dalle lezioni del livello 8 ho capito che "iteratore" è qualcosa come un collegamento alla nostra raccolta. Pertanto, ho creato 2 collegamenti di questo tipo e, confrontando gli elementi nella raccolta, ho deciso di eliminare gli elementi a cui si riferisce questo collegamento (oggetto) iterator2. Spiega perché sto sbagliando. Voglio davvero capire dove sbaglio. Grazie a tutti coloro che risponderanno. Un'altra opzione per implementare la rimozione da una raccolta 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(); } } }
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION