La fonction IntStream en Java est une interface fonctionnelle nouvellement introduite dans Java 8. Il peut effectuer des opérations de streaming sur des données de type entier, notamment des opérations de filtrage, de mappage, de collecte et autres. Cet article explique comment utiliser la fonction IntStream pour les opérations de flux numériques.
1. Introduction à la fonction IntStream
IntStream est une interface fonctionnelle en Java, qui représente un flux d'éléments dont le type de base est int. Il hérite de l'interface Stream et ajoute des méthodes pour le type de base int.
Les méthodes d'IntStream sont principalement divisées dans les quatre catégories suivantes :
2. Utilisation de base de la fonction IntStream
L'utilisation de IntStream est fondamentalement la même que celle de Stream Nous pouvons utiliser la méthode IntStream.range pour créer un flux entier dans une plage spécifiée :
IntStream intStream = IntStream.range(1, 10);
Nous pouvons également. utilisez la méthode IntStream.of pour créer un flux entier d'éléments spécifiés :
IntStream intStream = IntStream.of(1, 3, 5, 7, 9);
Vous pouvez également créer un flux itératif en utilisant la méthode IntStream.iterate :
IntStream intStream = IntStream.iterate(1, n -> n + 2).limit(5); intStream.forEach(System.out::println);//1 3 5 7 9
Après avoir créé le flux, nous pouvons utiliser des opérations intermédiaires pour la conversion. Par exemple, nous pouvons utiliser la méthode map pour multiplier chaque élément :
IntStream intStream = IntStream.range(1, 10); intStream.map(n -> n * 2).forEach(System.out::println);//2 4 6 8 10 12 14 16 18
Nous pouvons également utiliser la méthode filter pour filtrer les éléments qui remplissent les conditions :
IntStream intStream = IntStream.range(1, 10); intStream.filter(n -> n % 2 == 0).forEach(System.out::println);//2 4 6 8
Après avoir terminé l'opération intermédiaire, nous pouvons utiliser l'opération de terminaison pour terminer les statistiques, la collecte et autres opérations. Par exemple, nous pouvons utiliser la méthode sum pour additionner le flux :
IntStream intStream = IntStream.range(1, 10); int sum = intStream.filter(n -> n % 2 == 0).sum(); System.out.println(sum);//20
Nous pouvons également utiliser la méthode toArray pour convertir les éléments du flux en tableau :
IntStream intStream = IntStream.range(1, 10); int[] arr = intStream.filter(n -> n % 2 == 0).toArray(); System.out.println(Arrays.toString(arr));//[2, 4, 6, 8]
3. Utilisation avancée de la fonction IntStream
IntStream a une utilisation plus avancée, telle que flatMap, réduire, collecter et d'autres méthodes. L'utilisation de ces méthodes est présentée ci-dessous.
La méthode flatMap peut mapper chaque élément d'un flux à un flux, puis fusionner ces petits flux en un seul grand flux. Par exemple, nous pouvons utiliser la méthode flatMap pour convertir chaque nombre en chaîne correspondante, puis fusionner ces chaînes dans un flux :
IntStream intStream = IntStream.range(1, 5); Stream<String> stream = intStream.flatMap(n -> Stream.of(String.valueOf(n))); stream.forEach(System.out::println);//"1" "2" "3" "4"
la méthodereduce peut réduire les éléments du flux en une valeur, pour exemple, somme, produit, etc. Nous pouvons utiliser la méthode réduire pour additionner le flux de type int :
IntStream intStream = IntStream.range(1, 5); int sum = intStream.reduce(0, (a, b) -> a + b); System.out.println(sum);//10
La méthode collect peut collecter des éléments du flux dans un conteneur, tel que List, Set, Map, etc. Nous pouvons utiliser la méthode collect pour collecter des flux de type int dans une liste :
IntStream intStream = IntStream.range(1, 5); List<Integer> list = intStream.boxed().collect(Collectors.toList()); System.out.println(list);//[1, 2, 3, 4]
IV Résumé
Cet article présente l'utilisation de base et avancée de la fonction IntStream en Java. La fonction IntStream peut effectuer des opérations de streaming sur des éléments de type int et fournit une multitude d'opérations intermédiaires et d'opérations de terminaison, nous permettant d'effectuer facilement divers calculs numériques et tâches de collecte de données. J'espère que les lecteurs pourront maîtriser l'utilisation de la fonction IntStream grâce à l'introduction de cet article, ce qui facilitera les futurs travaux de développement 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!