Iterator versus Stream von Java 8

Um die zahlreichen in @ enthaltenen Abfragemethoden zu nutzjava.util.stream von Jdk 8 Ich werde versucht, Domänenmodelle zu entwerfen, in denen die Beziehung zu @ gestärkt wir* multiplicity (mit null oder mehr Instanzen) gibt ein @ zurüStream<T>, anstelle einesIterable<T> oderIterator<T>.

Ich bezweifle, dass durch das @ ein zusätzlicher Aufwand entstehStream<T> im Vergleich zumIterator<T>?

So, gibt es einen Nachteil, wenn ich mein Domain-Modell mit einem @ kompromittierStream<T>?

Oder sollte ich stattdessen immer ein @ zurückgebIterator<T> oderIterable<T>, und überlassen Sie dem Endbenutzer die Entscheidung, ob ein Stream verwendet werden soll oder nicht, indem Sie diesen Iterator mit @ konvertiereStreamUtils?

Hinwei das ein @ zurückgiCollection ist keine gültige Option, da in diesem Fall die meisten Beziehungen faul und mit unbekannter Größe sind.