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.
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…
Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…
Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…
Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.
Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…