---
title: 'Optional: Elemente über Iterator löschen'
url: 'https://www.tutego.de/blog/javainsel/2013/06/optional-elemente-ber-iterator-lschen'
markdown: 'https://www.tutego.de/blog/javainsel/2013/06/optional-elemente-ber-iterator-lschen.md'
date: '2013-06-05'
description: 'Die Iterator-Methode next() ist eine reine Lesemethode und verändert die darunterliegende Datenstruktur nicht. Doch bietet die Schnittstelle Iterator auch eine Methode remove(), die das zuletzt von next() geliefert Objekt aus der Datensammlung entfernen kann, für die der Iterator umgesetzt wird. Da…'
taxonomy:
  category:
    - Insel
    - 'Java 8'
---

# Optional: Elemente über Iterator löschen

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Optional: Elemente über Iterator löschen

05.06.2013 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

Die `Iterator`-Methode `next()` ist eine reine Lesemethode und verändert die darunterliegende Datenstruktur nicht. Doch bietet die Schnittstelle `Iterator` auch eine Methode `remove()`, die das zuletzt von `next()` geliefert Objekt aus der Datensammlung entfernen kann, für die der `Iterator` umgesetzt wird. Da diese Operation nicht immer Sinn ergibt – etwa bei immutable Datenstrukturen, oder wenn ein `Iterator` zum Beispiel Dateien Zeile für Zeile ausliest – ist sie in der API-Dokumenation als optional gekennzeichnet. Das heißt, dass ein konkreter `Iterator` keine Löschoperation unterstützt muss und etwa einfach nichts macht, oder eine `UnsupportedOperationException` auslösen könnte.

In Java 8 gab es in der Schnittstelle eine kleine Veränderung dahingehend, dass die Operation `remove()` sich von einer abstrakten Methode (mit Zwangsimplementierung für implementierende Klassen) zur Default-Methode wandelte, die nunmehr von sich aus eine `UnsupportedOperationException` auslöst.

```
interface java.util.Iterator<E>
```

- `default void remove()`Löscht das zuletzt von next() gelieferte Objekt aus der darunterliegenden Sammlung. Die Operation muss nicht zwingend von Iteratoren angeboten werden, und löst, falls nicht anderweitig überschrieben, eine UnsupportedOperationException("remove") aus.

Kategorien: [Insel](https://www.tutego.de/blog/javainsel/category/insel/), [Java 8](https://www.tutego.de/blog/javainsel/category/java-8/)

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Mehrere Zufallszahlen generieren, Stream in Random](https://www.tutego.de/blog/javainsel/2013/06/mehrere-zufallszahlen-generieren-stream-in-random.md)
- Next: [Code auf verbleibenden Elementen eines Iterators ausführen](https://www.tutego.de/blog/javainsel/2013/06/code-auf-verbleibenden-elementen-eines-iterators-ausfhren.md)
