Guten Tag.
Die Frage ist, wie man Elemente aus der Map- Sammlung entfernt . Ich versuche, ein anderes Problem zu lösen und komme nicht weiter, weil ich nicht verstehe, nach welchem Prinzip das Löschen aus der Sammlung erfolgt. Die Idee besteht darin, identische Elemente aus einer Sammlung zu entfernen; der Vergleich erfolgt nach Wert. Aus den Vorlesungen der Stufe 8 habe ich verstanden, dass „Iterator“ so etwas wie ein Link zu unserer Sammlung ist. Daher habe ich zwei solcher Links erstellt und durch Vergleich der Elemente in der Sammlung beschlossen, die Elemente zu löschen, auf die dieser Link (Objekt) iterator2 verweist. Erklären Sie, warum ich es falsch mache. Ich möchte wirklich verstehen, wo ich falsch liege. Vielen Dank an alle, die antworten werden. Eine weitere Möglichkeit, das Entfernen aus einer Sammlung zu implementieren
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