{"id":1919,"date":"2013-06-05T22:41:41","date_gmt":"2013-06-05T20:41:41","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=1919"},"modified":"2013-06-05T22:42:08","modified_gmt":"2013-06-05T20:42:08","slug":"optional-elemente-ber-iterator-lschen","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/06\/optional-elemente-ber-iterator-lschen\/","title":{"rendered":"Optional: Elemente &uuml;ber Iterator l&ouml;schen"},"content":{"rendered":"<p>Die Iterator-Methode next() ist eine reine Lesemethode und ver\u00e4ndert 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\u00fcr die der Iterator umgesetzt wird. Da diese Operation nicht immer Sinn ergibt \u2013 etwa bei immutable Datenstrukturen, oder wenn ein Iterator zum Beispiel Dateien Zeile f\u00fcr Zeile ausliest \u2013 ist sie in der API-Dokumenation als optional gekennzeichnet. Das hei\u00dft, dass ein konkreter Iterator keine L\u00f6schoperation unterst\u00fctzt muss und etwa einfach nichts macht, oder eine UnsupportedOperationException ausl\u00f6sen k\u00f6nnte.<\/p>\n<p>In Java 8 gab es in der Schnittstelle eine kleine Ver\u00e4nderung dahingehend, dass die Operation remove() sich von einer abstrakten Methode (mit Zwangsimplementierung f\u00fcr implementierende Klassen) zur Default-Methode wandelte, die nunmehr von sich aus eine UnsupportedOperationException ausl\u00f6st.<\/p>\n<p>interface java.util.Iterator&lt;E&gt;<\/p>\n<ul>\n<li>default void remove()     <br \/>L\u00f6scht das zuletzt von next() gelieferte Objekt aus der darunterliegenden Sammlung. Die Operation muss nicht zwingend von Iteratoren angeboten werden, und l\u00f6st, falls nicht anderweitig \u00fcberschrieben, eine UnsupportedOperationException(&quot;remove&quot;) aus.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Die Iterator-Methode next() ist eine reine Lesemethode und ver\u00e4ndert 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\u00fcr die der Iterator umgesetzt wird. Da diese Operation nicht immer Sinn ergibt \u2013 etwa bei immutable Datenstrukturen, oder wenn ein [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11,66],"tags":[],"class_list":["post-1919","post","type-post","status-publish","format-standard","hentry","category-insel","category-java-8"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=1919"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1919\/revisions"}],"predecessor-version":[{"id":1920,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1919\/revisions\/1920"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}