Maison  >  Article  >  Java  >  Comment effectuer des opérations fonctionnelles sur les collections à l'aide de l'API Stream en Java ?

Comment effectuer des opérations fonctionnelles sur les collections à l'aide de l'API Stream en Java ?

WBOY
WBOYoriginal
2023-08-02 15:13:091020parcourir

Comment effectuer des opérations fonctionnelles sur les collections à l'aide de l'API Stream en Java ?

Avec la sortie de Java 8, l'API Stream a été introduite, rendant les opérations fonctionnelles sur les collections plus concises et efficaces. L'API Stream fournit une nouvelle façon de traiter les collections, qui peut opérer sur les collections de manière déclarative, ce qui peut réduire la complexité du code et améliorer la lisibilité et la maintenabilité du code. Cet article détaillera comment utiliser l'API Stream en Java pour effectuer des opérations fonctionnelles sur les collections.

Tout d'abord, nous devons comprendre les concepts de base de l'API Stream. Stream représente une séquence d'éléments de données pouvant provenir de n'importe quelle source de données, telle que des tableaux, des collections, etc. La différence entre Stream et collection est qu'il ne sauvegarde pas les données elles-mêmes, mais les données calculées à la demande, ce qui signifie que nous pouvons effectuer plusieurs opérations sur les données sans créer une nouvelle collection. L'API Stream fournit diverses méthodes de filtrage, de mappage, de tri et d'autres opérations sur les données. Ces méthodes peuvent être appelées en chaîne pour former un flux de traitement et finalement obtenir les résultats souhaités.

Voici plusieurs exemples pour montrer comment utiliser l'API Stream pour effectuer des opérations fonctionnelles sur les collections.

  1. Filtrer les données

Tout d'abord, nous pouvons utiliser la méthode de filtrage pour filtrer les données qui remplissent les conditions. Par exemple, nous avons un ensemble d’entiers et nous voulons trouver des éléments supérieurs à 10.

List<Integer> numbers = Arrays.asList(1, 5, 10, 15, 20);
List<Integer> result = numbers.stream()
                              .filter(n -> n > 10)
                              .collect(Collectors.toList());
System.out.println(result); // 输出 [15, 20]
  1. Convertir les données

En plus de filtrer les données, nous pouvons également utiliser la méthode map pour cartographier les données. Par exemple, nous avons une collection de chaînes et nous souhaitons convertir chaque chaîne en majuscules.

List<String> words = Arrays.asList("hello", "world", "Java", "stream");
List<String> result = words.stream()
                           .map(String::toUpperCase)
                           .collect(Collectors.toList());
System.out.println(result); // 输出 [HELLO, WORLD, JAVA, STREAM]
  1. Trier les données

De plus, nous pouvons également utiliser la méthode triée pour trier les données. Par exemple, nous avons une collection d’entiers et nous souhaitons les trier du plus petit au plus grand.

List<Integer> numbers = Arrays.asList(5, 2, 10, 1, 8);
List<Integer> result = numbers.stream()
                              .sorted()
                              .collect(Collectors.toList());
System.out.println(result); // 输出 [1, 2, 5, 8, 10]
  1. Statistiques

De plus, l'API Stream fournit également des méthodes statistiques simples, telles que le nombre, le min, le max, la somme, etc. Par exemple, nous avons un ensemble d’entiers et nous voulons calculer leur moyenne.

List<Integer> numbers = Arrays.asList(5, 2, 10, 1, 8);
double average = numbers.stream()
                        .mapToDouble(Integer::doubleValue)
                        .average()
                        .orElse(0);
System.out.println(average); // 输出 5.2

Grâce à l'exemple ci-dessus, nous pouvons voir que l'utilisation de l'API Stream peut rendre notre code plus clair et plus concis. L'API Stream fournit une multitude de méthodes de filtrage, de mappage, de tri, de statistiques et d'autres opérations. En enchaînant ces méthodes, on peut mettre en œuvre des logiques complexes de traitement de données. Dans le même temps, l'API Stream prend également en charge le traitement parallèle, qui peut exploiter pleinement les avantages des processeurs multicœurs et améliorer l'efficacité du traitement.

Pour résumer, utiliser l'API Stream en Java pour effectuer des opérations fonctionnelles sur les collections peut grandement simplifier notre code et améliorer la lisibilité et la maintenabilité du code. J'espère que grâce à l'introduction de cet article, j'aurai une meilleure compréhension de la façon d'utiliser l'API Stream. Utilisons pleinement les puissantes fonctions fournies par l'API Stream pour améliorer l'efficacité du développement réel.

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!

Déclaration:
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