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.
- 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 :
- Les sources de données peuvent être des collections, des tableaux, des canaux d'E/S, etc.
- Capable d'effectuer une série d'opérations intermédiaires, telles que le filtrage, le mappage, le tri, etc.
- Peut effectuer des opérations de terminal, telles que l'agrégation, la collecte, le parcours, etc.
- 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é.
- 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();
Copier après la connexion
- 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]
Copier après la connexion
- 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]
Copier après la connexion
- 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]
Copier après la connexion
- 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
Copier après la connexion
- 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]
Copier après la connexion
- 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);
Copier après la connexion
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!