Bom dia. A questão é como remover elementos da coleção
Map . Estou tentando resolver outro problema e não consigo avançar, pois não entendo em que princípio ocorre a exclusão da coleção. A ideia é retirar elementos idênticos de uma coleção, a comparação é feita por valor. Nas palestras do nível 8 entendi que "iterador" é algo como um link para nossa coleção. Portanto, criei 2 desses links e, comparando os elementos da coleção, decidi excluir os elementos aos quais este link (objeto) iterator2 se refere. Explique por que estou fazendo errado. Eu realmente quero entender onde estou errado. Obrigado a todos que responderão. Outra opção para implementar a remoção de uma coleção
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(); } } }
GO TO FULL VERSION