Heim  >  Artikel  >  Java  >  So verwenden Sie die IntStream-Funktion in Java für numerische Stream-Operationen

So verwenden Sie die IntStream-Funktion in Java für numerische Stream-Operationen

WBOY
WBOYOriginal
2023-06-26 20:15:082332Durchsuche

Die IntStream-Funktion in Java ist eine neu eingeführte Funktionsschnittstelle in Java 8. Es kann Streaming-Vorgänge für Daten vom Typ Ganzzahl ausführen, einschließlich Filterung, Zuordnung, Sammlung und andere Vorgänge. In diesem Artikel wird die Verwendung der IntStream-Funktion für numerische Stream-Operationen vorgestellt.

1. Einführung in die IntStream-Funktion

IntStream ist eine funktionale Schnittstelle in Java, die einen Stream von Elementen darstellt, deren Grundtyp int ist. Es erbt die Stream-Schnittstelle und fügt Methoden für den Basistyp int hinzu.

Die Methoden in IntStream sind hauptsächlich in die folgenden vier Kategorien unterteilt:

  1. Streams erstellen: Range, RangeClosed, Of, Iterate, Generate und andere Methoden.
  2. Konvertierungsstream: Karte, FlatMap, Filter, eindeutig, sortiert und andere Methoden.
  3. Beendigungsstrom: forEach, toArray, sum, Average, Reduce und andere Methoden.
  4. Operationsablauf: Min, Max, Count, AnyMatch, AllMatch, NoneMatch und andere Methoden.

2. Grundlegende Verwendung der IntStream-Funktion

Die Verwendung von IntStream ist im Grunde die gleiche wie die von Stream. Wir können die IntStream.range-Methode verwenden, um einen ganzzahligen Stream in einem angegebenen Bereich zu erstellen:

IntStream intStream = IntStream.range(1, 10);

Das können wir auch Verwenden Sie die IntStream.of-Methode, um einen ganzzahligen Stream aus angegebenen Elementen zu erstellen:

IntStream intStream = IntStream.of(1, 3, 5, 7, 9);

Sie können auch einen iterativen Stream mit der IntStream.iterate-Methode erstellen:

IntStream intStream = IntStream.iterate(1, n -> n + 2).limit(5);
intStream.forEach(System.out::println);//1 3 5 7 9

Nach dem Erstellen des Streams können wir Zwischenoperationen zur Konvertierung verwenden. Beispielsweise können wir die Map-Methode verwenden, um jedes Element zu multiplizieren:

IntStream intStream = IntStream.range(1, 10);
intStream.map(n -> n * 2).forEach(System.out::println);//2 4 6 8 10 12 14 16 18

Wir können auch die Filtermethode verwenden, um Elemente herauszufiltern, die die Bedingungen erfüllen:

IntStream intStream = IntStream.range(1, 10);
intStream.filter(n -> n % 2 == 0).forEach(System.out::println);//2 4 6 8

Nach Abschluss der Zwischenoperation können wir die Beendigungsoperation zum Abschluss verwenden die Statistik, Sammlung und andere Vorgänge. Zum Beispiel können wir die sum-Methode verwenden, um den Stream zu summieren:

IntStream intStream = IntStream.range(1, 10);
int sum = intStream.filter(n -> n % 2 == 0).sum();
System.out.println(sum);//20

Wir können auch die toArray-Methode verwenden, um die Elemente im Stream in ein Array umzuwandeln:

IntStream intStream = IntStream.range(1, 10);
int[] arr = intStream.filter(n -> n % 2 == 0).toArray();
System.out.println(Arrays.toString(arr));//[2, 4, 6, 8]

3. Erweiterte Verwendung der IntStream-Funktion

IntStream hat Fortgeschrittenere Verwendung wie FlatMap, Reduce, Collect und andere Methoden. Die Verwendung dieser Methoden wird im Folgenden vorgestellt.

  1. flatMap-Methode

Die flatMap-Methode kann jedes Element eines Streams einem Stream zuordnen und diese kleinen Streams dann zu einem großen Stream zusammenführen. Beispielsweise können wir die flatMap-Methode verwenden, um jede Zahl in die entsprechende Zeichenfolge umzuwandeln und diese Zeichenfolgen dann zu einem Stream zusammenzuführen:

IntStream intStream = IntStream.range(1, 5);
Stream<String> stream = intStream.flatMap(n -> Stream.of(String.valueOf(n)));
stream.forEach(System.out::println);//"1" "2" "3" "4"
  1. reduce-Methode

reduce-Methode kann die Elemente im Stream auf einen Wert reduzieren, For Beispiel, Summierung, Produkt usw. Wir können die Reduce-Methode verwenden, um den Stream vom Typ int zu summieren:

IntStream intStream = IntStream.range(1, 5);
int sum = intStream.reduce(0, (a, b) -> a + b);
System.out.println(sum);//10
  1. Collect-Methode

Die Collect-Methode kann Elemente im Stream in einem Container sammeln, z. B. List, Set, Map usw. Wir können die Collect-Methode verwenden, um Streams vom Typ int in einer Liste zu sammeln:

IntStream intStream = IntStream.range(1, 5);
List<Integer> list = intStream.boxed().collect(Collectors.toList());
System.out.println(list);//[1, 2, 3, 4]

IV Zusammenfassung

Dieser Artikel stellt die grundlegende und erweiterte Verwendung der IntStream-Funktion in Java vor. Die IntStream-Funktion kann Streaming-Operationen für Elemente vom Typ int ausführen und bietet eine Fülle von Zwischenoperationen und Beendigungsoperationen, sodass wir verschiedene numerische Berechnungen und Datenerfassungsaufgaben problemlos durchführen können. Ich hoffe, dass die Leser durch die Einführung dieses Artikels die Verwendung der IntStream-Funktion beherrschen können, was die zukünftige Java-Entwicklungsarbeit erleichtern wird.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die IntStream-Funktion in Java für numerische Stream-Operationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn