Iteratoren oder Listen für Rückgabewerte in Java

Der Unterschied besteht darin, dass in einigen Fällen die Wahl eher auf iterator als die besser geeignete Methode fällt: Iteratoren können zurückgegeben und verändert werden, bevor die gespeicherten Daten vollständig verfügbar sind. Listen bzw. Arrays hingegen müssen erst vollständig bestückt sein, bevor man ihren Rückgabewert zuverlässig erhält.

Stellen Sie sich einen Fall vor, wo Sie einen Strom von Objekten aus einer Quelle beziehen, die jedes Objekt mit einer gewissen Zeitverzögerung erstellt. Diese Situation kommt recht häufig vor bei Software, die Ein- und Ausgaben in einem Netzwerk verwendet, oder auch bei umfangreichen Abfrage-Ergebnissen aus Datenbanken. Wenn Sie nach einer Methode suchen, die eine Reihe von Objekten liefert, welche die Ergebnisse dieser langsamen Datenquelle repräsentieren, bietet sich sowohl eine Liste als auch ein Iterator an. Versuchen wie es zuerst mit einer Liste.

Eine Liste verwenden

In Listing A sehen Sie, dass die getUsers-Methode das vollständige Ergebnis zwischenspeichert, bevor sie die Liste zurückgibt. Dies erfordert unter Umständen nicht nur sehr viel Speicherplatz, sondern kann auch zu unnötigen Verzögerungen führen. Wenn der Aufrufer der getUsers-Methode die zurückgegebenen Objekte jeweils einzeln bearbeiten will – ausdrucken zum Beispiel -, ist die Erstellung einer Collection überflüssig.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

10 Stunden ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

1 Tag ago

Bedrohungen in Europa: Schwachstellen in der Lieferkette dominieren

Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…

2 Tagen ago

Bericht: Apple arbeitet an faltbarem iPad

Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…

2 Tagen ago

HPE baut Supercomputer am Leibniz-Rechenzentrum

Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.

3 Tagen ago

Bund meldet Fortschritte in der Netzversorgung

Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…

3 Tagen ago