Heim >Java >javaLernprogramm >Java-Programm zum Ermitteln der maximalen ungeraden Zahl im Array mithilfe von Stream und Filter

Java-Programm zum Ermitteln der maximalen ungeraden Zahl im Array mithilfe von Stream und Filter

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBnach vorne
2023-09-09 19:49:021358Durchsuche

Java-Programm zum Ermitteln der maximalen ungeraden Zahl im Array mithilfe von Stream und Filter

In diesem Abschnitt schreiben wir ein Java-Programm, um mithilfe von Streams und Filtern die größte ungerade Zahl in einem Array zu finden. Ungerade Zahlen sind Zahlen, die nicht durch „2“ teilbar sind, oder diese Zahlen haben einen Rest von 1, wenn sie durch „2“ geteilt werden. Mit anderen Worten, es kann in der Form ‘2n+1’ geschrieben werden. Wir finden die größte ungerade Zahl im Array.

Beispiel

Input: array = {1, 7, 2, 3, 9, 5, 10}
Output: Maximum odd number is 9

Aus dem obigen Beispiel ist die größte ungerade Zahl im Array 9.

Input: array = {11, 17, 12, 13, 19, 15, 20}
Output: Maximum odd number is 19

Im obigen Beispiel ist die größte ungerade Zahl im Array 19.

Anwendungsmethode

stream() – Es wird verwendet, um einen Stream von Elementen zu erstellen, damit wir die Daten mit Methoden wie filter(), map(), Reduce() usw. verarbeiten können

Arrays.stream(collection)	

filter() – Wird zum Filtern von Daten in einem Stream verwendet, d. h. zum Auswählen bestimmter Elemente aus dem Stream basierend auf Bedingungen. Es gibt einen booleschen Wert zurück.

treamobject.filter(condition)	

reduce() – Wird verwendet, um die Anzahl der Elemente zu reduzieren und eine einzelne Ergebniszahl basierend auf binären Operationen zurückzugeben.

Streamobject.reduce(initial value, binary operation)	

Wir werden nun verschiedene Möglichkeiten diskutieren, die größte ungerade Zahl in einem Array mithilfe von Streams und Filtern (implementiert mit Code in Java) zu finden.

Algorithmus

  • Initialisieren Sie das Array und verwenden Sie die Methode stream(), um einen Stream für das Array zu erstellen

  • Verwenden Sie die Filtermethode () und Parameter als Bedingungen, um den Stream zu filtern und ungerade Zahlen aus dem Array herauszufiltern.

  • Verwenden Sie die Methode max(), um die größte ungerade Zahl zurückzugeben. Wenn keine ungerade Zahl vorhanden ist, verwenden Sie die Methode orElse(), um -1 auszugeben.

Beispiel

In diesem Beispiel initialisieren wir zunächst ein Array. Dann verwenden wir die Methode „stream()“, um das Array in einen Stream umzuwandeln, verwenden dann die Methode „filter()“ für den Stream, um die im Stream vorhandenen ungeraden Zahlen herauszufiltern, und für den resultierenden Stream verwenden wir die max ()-Methode, um den Maximalwert aller ungeraden Zahlen im Stream zu finden. Wenn im Stream keine ungeraden Zahlen vorhanden sind, verwenden wir die Funktion „orElse“, um den Wert des Eingabeparameters zurückzugeben. Dann drucken wir den in der Variablen „maximumOdd“ gespeicherten Wert aus.

import java.util.*;
public class Main {
   public static void main(String[] args) {
      int[] array = {1, 7, 2, 3, 9, 5, 10};
      int maximumOdd = Arrays.stream(array)
      .filter(n -> n % 2 != 0)
      .max()
      .orElse(-1);
      System.out.println("Maximum odd number is: " +maximumOdd);
   }
}

Ausgabe

Maximum odd number is: 9	

Verwenden Sie die Methoden stream(), filter() und Reduce()

  • Initialisieren Sie das Array und verwenden Sie die Methode stream(), um einen Stream für das Array zu erstellen

  • Verwenden Sie die Filtermethode () und Parameter als Bedingungen, um den Stream zu filtern und ungerade Zahlen aus dem Array herauszufiltern.

  • Verwenden Sie die Methode „reduce()“, um die größte ungerade Zahl zu finden

  • Verwenden Sie den ternären Operator, um die größte ungerade Zahl auszugeben, oder -1, wenn es keine ungerade Zahl gibt.

Beispiel

In diesem Beispiel initialisieren wir zunächst ein Array. Dann verwenden wir die Methode „stream()“, um das Array in einen Stream umzuwandeln, dann verwenden wir die Methode „filter()“ für den Stream, um die im Stream vorhandenen ungeraden Zahlen herauszufiltern, und für den resultierenden Stream verwenden wir die Reduzierung ()-Methode, um den Maximalwert aller ungeraden Zahlen im Stream zu finden. Wenn der Stream keine ungeraden Zahlen enthält, enthält die MaximumOdd-Zahl Integer.MIN_VALUE. Anschließend verwenden wir die ternäre Operation „?“ und prüfen, ob die Variable „maximumOdd“ Integer.MIN_VALUE enthält. Wenn es Integer.MIN_VALUE enthält, geben wir -1 aus, andernfalls drucken wir den in der Variablen „maximumOdd“ gespeicherten Wert.

import java.util.*;
public class Main {
   public static void main(String[] args) {
      int[] array = {1, 7, 2, 3, 9, 5};
      int maximumOdd = Arrays.stream(array)
      .filter(n -> n % 2 != 0)
      .reduce(Integer.MIN_VALUE, Integer::max);
      System.out.println("Maximum odd number in the given array is   " + (maximumOdd != Integer.MIN_VALUE ? maximumOdd : -1));
   }
}

Ausgabe

Maximum odd number in the given array is   9

In diesem Artikel haben wir also besprochen, wie man mit verschiedenen Methoden mithilfe von Streams und Filtern in Java die maximale ungerade Zahl in einem Array findet.

Das obige ist der detaillierte Inhalt vonJava-Programm zum Ermitteln der maximalen ungeraden Zahl im Array mithilfe von Stream und Filter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen