Maison > Java > javaDidacticiel > Programme Java pour trouver le nombre impair maximum dans un tableau à l'aide d'un flux et d'un filtre

Programme Java pour trouver le nombre impair maximum dans un tableau à l'aide d'un flux et d'un filtre

WBOY
Libérer: 2023-09-09 19:49:02
avant
1316 Les gens l'ont consulté

Programme Java pour trouver le nombre impair maximum dans un tableau à laide dun flux et dun filtre

Dans cette section, nous allons écrire un programme Java pour trouver le plus grand nombre impair dans un tableau à l'aide de flux et de filtres. Les nombres impairs sont des nombres qui ne sont pas divisibles par "2", ou ces nombres ont un reste de 1 lorsqu'ils sont divisés par "2". En d’autres termes, cela peut s’écrire sous la forme ‘2n+1’. Nous trouverons le plus grand nombre impair du tableau.

Exemple

Input: array = {1, 7, 2, 3, 9, 5, 10}
Output: Maximum odd number is 9
Copier après la connexion

Dans l'exemple ci-dessus, le plus grand nombre impair du tableau est 9.

Input: array = {11, 17, 12, 13, 19, 15, 20}
Output: Maximum odd number is 19
Copier après la connexion

Dans l'exemple ci-dessus, le plus grand nombre impair du tableau est 19.

Méthode à utiliser

stream() - Il est utilisé pour créer un flux d'éléments afin que nous puissions traiter les données en utilisant des méthodes comme filter(), map(), réduire() etc

Arrays.stream(collection)	
Copier après la connexion

filter() - Utilisé pour filtrer les données dans un flux, c'est-à-dire sélectionner des éléments spécifiques du flux en fonction des conditions. Il renvoie une valeur booléenne.

treamobject.filter(condition)	
Copier après la connexion

reduce() - Utilisé pour réduire le nombre d'éléments et renvoyer un seul numéro de résultat basé sur des opérations binaires.

Streamobject.reduce(initial value, binary operation)	
Copier après la connexion

Nous allons maintenant discuter des différentes manières de trouver le plus grand nombre impair dans un tableau à l'aide de flux et de filtres (implémentés à l'aide de code en Java).

Algorithme

  • Initialisez le tableau et utilisez la méthode stream() pour créer un flux pour le tableau

  • Utilisez la méthode de filtrage () et les paramètres comme conditions pour filtrer le flux afin de filtrer les nombres impairs du tableau.

  • Utilisez la méthode max() pour renvoyer le plus grand nombre impair, s'il n'y a pas de nombre impair, utilisez la méthode orElse() pour imprimer -1.

Exemple

Dans cet exemple, nous initialisons d'abord un tableau. Ensuite, nous utilisons la méthode "stream()" pour convertir le tableau en flux, puis utilisons la méthode "filter()" sur le flux pour filtrer les nombres impairs présents dans le flux, et sur le flux résultant nous utilisons le max () méthode pour trouver tous les nombres impairs dans le flux la valeur maximale. S'il n'y a pas de nombres impairs dans le flux, nous utilisons la fonction "orElse" pour renvoyer la valeur du paramètre d'entrée. Ensuite, nous imprimons la valeur stockée dans la variable "maximumOdd".

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);
   }
}
Copier après la connexion

Sortie

Maximum odd number is: 9	
Copier après la connexion

Utilisez les méthodes stream(), filter() et reduction()

  • Initialisez le tableau et utilisez la méthode stream() pour créer un flux pour le tableau

  • Utilisez la méthode de filtrage () et les paramètres comme conditions pour filtrer le flux afin de filtrer les nombres impairs du tableau.

  • Utilisez la méthode réduire() pour trouver le plus grand nombre impair

  • Utilisez l'opérateur ternaire pour imprimer le plus grand nombre impair, ou -1 s'il n'y a pas de nombre impair.

Exemple

Dans cet exemple, nous initialisons d'abord un tableau. Ensuite, nous utilisons la méthode "stream()" pour convertir le tableau en flux, puis utilisons la méthode "filter()" sur le flux pour filtrer les nombres impairs présents dans le flux, et sur le flux résultant nous utilisons la réduction () méthode pour trouver tous les nombres impairs dans le flux la valeur maximale. S'il n'y a pas de nombres impairs dans le flux, le nombre MaximumOdd contient Integer.MIN_VALUE. Nous utilisons ensuite l'opération ternaire '?' et vérifions si la variable 'maximumOdd' contient Integer.MIN_VALUE. S'il contient Integer.MIN_VALUE, alors nous imprimons -1, sinon nous imprimons la valeur stockée dans la variable "maximumOdd".

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));
   }
}
Copier après la connexion

Sortie

Maximum odd number in the given array is   9
Copier après la connexion

Ainsi, dans cet article, nous avons expliqué comment trouver le nombre impair maximum dans un tableau en utilisant différentes méthodes utilisant des flux et des filtres en Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal