Maison  >  Article  >  Java  >  Comment utiliser la fonction Stream pour les opérations fonctionnelles en Java

Comment utiliser la fonction Stream pour les opérations fonctionnelles en Java

王林
王林original
2023-10-19 11:19:43520parcourir

Comment utiliser la fonction Stream pour les opérations fonctionnelles en Java

Comment utiliser la fonction Stream en Java pour les opérations fonctionnelles

Introduction :
Avec la sortie de Java 8, l'API Stream a été introduite, rendant la programmation fonctionnelle en Java plus pratique. L'API Stream fournit un moyen efficace et facile à utiliser pour traiter les données de collecte. Cet article explique comment utiliser la fonction Stream pour les opérations fonctionnelles en Java et fournit des exemples de code spécifiques.

  1. Introduction à Stream
    Stream est une API de traitement des données de collecte, qui fournit un moyen de traitement en streaming. Stream peut être utilisé pour filtrer, cartographier, trier et regrouper des collections. Les fonctionnalités de Stream incluent :
  2. Les sources de données peuvent être des collections, des tableaux, des canaux d'E/S, etc.
  3. Capable d'effectuer une série d'opérations intermédiaires, telles que le filtrage, le mappage, le tri, etc.
  4. Peut effectuer des opérations de terminal, telles que l'agrégation, la collecte, le parcours, etc.
  5. Fournit les caractéristiques d'une évaluation paresseuse et d'une évaluation de court-circuit, qui peuvent être calculées uniquement en cas de besoin, améliorant ainsi l'efficacité.
  6. Création de Stream
    Avant d'utiliser la fonction Stream pour des opérations fonctionnelles, vous devez d'abord créer un objet Stream. Un objet Stream peut être créé en appelant la méthode stream d'une collection ou d'un tableau. Par exemple :
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = list.stream();
  1. Opérations intermédiaires de Stream
    Stream fournit une série d'opérations intermédiaires pour le traitement des données. Les opérations intermédiaires couramment utilisées incluent le filtrage, le mappage, le tri, etc. Voici quelques opérations intermédiaires couramment utilisées et comment les utiliser :
  • Filtre : utilisé pour filtrer les éléments d'une collection. Par exemple, filtrez les éléments supérieurs ou égaux à 3 :
List<Integer> result = list.stream()
    .filter(n -> n >= 3)
    .collect(Collectors.toList());
System.out.println(result); // 输出:[3, 4, 5]
  • Map : Utilisé pour mapper les éléments d'une collection à un autre type. Par exemple, mettre au carré les éléments de l'ensemble et les rassembler dans un nouvel ensemble :
List<Integer> result = list.stream()
    .map(n -> n * n)
    .collect(Collectors.toList());
System.out.println(result); // 输出:[1, 4, 9, 16, 25]
  • Trié (sorted) : utilisé pour trier les éléments de l'ensemble. Par exemple, pour trier une collection par ordre croissant :
List<Integer> result = list.stream()
    .sorted()
    .collect(Collectors.toList());
System.out.println(result); // 输出:[1, 2, 3, 4, 5]
  1. Opérations de terminal de Stream
    Les opérations de terminal de Stream sont utilisées pour résumer, collecter et parcourir des données. Les opérations de terminal couramment utilisées incluent l’agrégation, la collecte et le parcours. Voici quelques opérations de terminal couramment utilisées et comment les utiliser :
  • Agrégation (réduire) : utilisée pour effectuer des opérations d'agrégation sur les éléments d'une collection. Par exemple, pour calculer la somme des éléments d'un ensemble :
int result = list.stream()
    .reduce(0, (a, b) -> a + b);
System.out.println(result); // 输出:15
  • Collect : Utilisé pour collecter les éléments d'un ensemble dans un nouvel ensemble. Par exemple, rassemblez les nombres impairs de l'ensemble dans une nouvelle liste :
List<Integer> result = list.stream()
    .filter(n -> n % 2 != 0)
    .collect(Collectors.toList());
System.out.println(result); // 输出:[1, 3, 5]
  • Traversal (forEach) : utilisé pour parcourir les éléments de l'ensemble. Par exemple, imprimer les éléments de la collection :
list.stream()
    .forEach(System.out::println);

Résumé :
Les opérations fonctionnelles via la fonction Stream peuvent améliorer la lisibilité et la maintenabilité du code. Cet article explique comment utiliser les fonctions Stream pour les opérations fonctionnelles en Java et fournit des exemples de code spécifiques. L'utilisation de l'API Stream peut traiter les données de collecte de manière plus concise et efficace, améliorant ainsi l'efficacité du développement. Il est recommandé d'utiliser pleinement les fonctions puissantes de l'API Stream lors de l'utilisation de Java pour le traitement des collections.

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