Generieren Sie Stream aus einem Array primitiver Typen in Java

Manchmal verwenden wir ein Array primitiver Typen wie "char" und "boolean". Mit der Stream-API für Arrays ist es häufig möglich, präzise zu arbeiten. "Arrays # stream" kann jedoch nicht auf andere primitive Arrays als "int", "long" und "double" angewendet werden. Notieren Sie sich daher, was in solchen Fällen zu tun ist.

Verwenden Sie die Wrapper-Klasse von Anfang an

Da "Arrays # stream" für Arrays eines beliebigen Objekttyps verwendet werden kann, wird die Methode zur Verwendung der Wrapper-Klasse verwendet.

final Character[] array = {...};
Arrays.stream(array)
      ...

Generieren und ordnen Sie Indizes mit "IntStream"

Favorit So generieren Sie Indizes für das Zielarray mit "IntStream # range" und ordnen sie den Elementen des Arrays zu.

final char[] array = {...};
IntStream.range(0, array.length) //Beachten Sie, dass es nicht rangeClosed ist
         .mapToObj(i -> array[i])
         ...

Bonus

Stream # flatMap ist praktisch, wenn Sie ein Doppelarray mit Stream gleichzeitig betreiben möchten. Beispiel: Ich möchte überprüfen, ob alle Elemente eines Doppelarrays vom Typ "Boolean" "true" sind.

public void run() {
  ...
  final boolean[][] table = ...;
  Arrays.stream(table)
        .flatMap(this::flatten)
        .allMatch(Boolean::booleanValue);
}

private Stream<Boolean> flatten(final boolean[] array) {
  return IntStream.range(0, array.length)
                  .mapToObj(i -> array[i]);
}

Recommended Posts

Generieren Sie Stream aus einem Array primitiver Typen in Java
Liste der in Java 9 hinzugefügten Typen
Holen Sie sich mit Java eine nicht leere Sammlung aus einem optionalen Stream
Verwandeln Sie ein Array von Strings in eine Liste von Ganzzahlen in Java
Map ohne Verwendung eines Arrays in Java
Vergleichen Sie Elemente eines Arrays (Java)
Ab Java9 werden Klassenkonstruktoren, die primitiven Typen entsprechen, als veraltet markiert.
[Java] Ruft Werte zufällig aus einem Array ab
Generieren Sie OffsetDateTime aus Clock und LocalDateTime in Java
Äquivalenter Vergleich von Java-Wrapper-Klasse und primitivem Typ
Über Java-Instanzen
Eine kurze Erklärung der fünf Arten von Java Static
[Java11] Stream-Zusammenfassung - Vorteile von Stream -
Ein Programm (Java), das die Summe von ungeraden und geraden Zahlen in einem Array ausgibt
Ich habe Java-Primitivtypen untersucht
Java Stream API in 5 Minuten
Holen Sie sich ganz einfach Ganzzahlen aus den Systemeigenschaften in Java
Ruft Attribute und Werte aus einer XML-Datei in Java ab
[Java8] Verwenden Sie stream, um Arrays vom Typ int in absteigender Reihenfolge zu sortieren
Java-Implementierung von Tri-Tree
Hinweis Nr. 1 "Zählen und Anzeigen doppelter Werte in einem Array" [Java]
[Java] Generieren Sie einen Daten-URI aus einer Byte-Zeichenfolge mit Dateiinhalten. [Kotlin]
Verketten Sie Zeichenfolgen, die von Mehrobjektmethoden in Java Stream zurückgegeben werden
Möchten Sie eine IOException aus dem Stream werfen? In diesem Fall
So ermitteln Sie die Länge einer Audiodatei mit Java
Effektives Java-Element 25 Wählen Sie eine Liste aus einem Array aus. Erste Hälfte
Lassen Sie uns die Java 8-Grammatik aus der Sicht der iOS-Ingenieure zusammenfassen
Ich habe eine E-Mail in Java gesendet
Java-Lernnotiz (Erstellen eines Arrays)
Über Lambda, Stream, LocalDate von Java8
Java primitive Typen, Referenztypen, unveränderlich, veränderlich
Generieren Sie die CloudStack-API-URL in Java
Java-Array-Variablen sind Referenztypen
Versuchen Sie einen If-Ausdruck in Java
Liste der in Java 9 hinzugefügten Mitglieder
Ich habe eine Anmerkung in Java gemacht.
Grundlegender Verarbeitungsablauf von Java Stream
Java-Array / Liste / Stream gegenseitige Konvertierungsliste
Implementierung einer ähnlichen Funktion in Java
Verwenden Sie Stream in Java?
Führen Sie einen externen Prozess in Java aus
Arten von Ausnahmen in Geschäftssystemen
Erhöhen Sie dynamisch die Anzahl der Elemente in einem zweidimensionalen Java-Array (mehrdimensionales Array).
[Swift] Zusammenfassung zum Löschen von Elementen aus einem Array (persönliches Memo)
Die Geschichte des Erwerbs von Java Silver in zwei Monaten von völlig unerfahrenen.
So konvertieren Sie ein Array von Strings mit der Stream-API in ein Array von Objekten
Ich möchte für jedes Array mit Lambda-Ausdruck in Java
[Java] Generieren Sie mithilfe der Stream-API eine verengte Liste aus mehreren Listen
Generieren Sie den Quellcode aus der JAR-Datei mit der JD-GUI des Java Decompiler-Projekts
Beim Aufrufen von println usw. aus einer externen Java-Klassendatei in Processing
Lernen Sie Deep Learning von Grund auf in Java.
Implementierung von DBlayer in Java (RDB, MySQL)
Bei der Suche nach mehreren in einem Java-Array
Holen Sie sich das Ergebnis von POST in Java
Bedeutung der aus der Java Collection gelernten Schnittstelle
Datenverarbeitung mit der Stream-API von Java 8
Rufen Sie Java-Methoden aus JavaScript auf, das in Java ausgeführt wird
Versuchen Sie es mit der Stream-API in Java
Schlüssel vom Wert in Java Map umkehren