So kehren Sie einen Java-Stream um, um einen abnehmenden IntStream zu generieren
Das Umkehren eines Streams ist ein häufiger Vorgang beim Umgang mit Java 8-Streams. Hier untersuchen wir zwei Ansätze zum Umkehren eines Streams jeglicher Art und gehen insbesondere auf die Herausforderung ein, einen abnehmenden IntStream zu generieren.
Allgemeiner Ansatz: Umkehren eines Streams jeglicher Art
Um einen Stream unabhängig vom Elementtyp umzukehren, können zwei Techniken eingesetzt werden:
Spezifischer Ansatz: Generieren eines abnehmenden IntStreams
Das spezifische Problem der Generierung eines abnehmenden IntStreams kann mit angegangen werden die folgende benutzerdefinierte Methode:
<code class="java">static IntStream revRange(int from, int to) { return IntStream.range(from, to) .map(i -> to - i + from - 1); }</code>
Diese Technik vermeidet Boxing- und Sortiervorgänge, was zu effizienterem Code führt.
Zusätzliche Überlegungen
Eine vorherige Version dieser Antwort empfiehlt die Verwendung einer umgekehrten ArrayList. Aufgrund der Ineffizienz des Einfügens an der Vorderseite von ArrayList wurde es jedoch aktualisiert, um stattdessen eine ArrayDeque zu verwenden, die effiziente vordere Einfügungen unterstützt.
Die Ausgabe dieses Ansatzes ist eine Deque anstelle einer Liste, aber es kann problemlos in der jetzt umgekehrten Reihenfolge iteriert oder gestreamt werden.
Das obige ist der detaillierte Inhalt vonWie erstelle ich einen umgekehrten IntStream in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!