API Stream en Java 8 : Comment utiliser la méthode mapToInt() pour mapper une collection à un type int
Introduction :
Java 8 introduit l'API Stream, offrant aux développeurs un moyen plus concis et efficace d'exploiter les collections. L'une des méthodes couramment utilisées est mapToInt(), qui mappe les éléments de la collection au type int et renvoie un IntStream. Cet article explique comment utiliser la méthode mapToInt() et fournit quelques exemples d'utilisation.
1. Introduction à la méthode mapToInt()
mapToInt() est une méthode fournie dans l'API Stream, qui peut être utilisée pour mapper des éléments d'une collection au type int. La déclaration de cette méthode est la suivante :
IntStream mapToInt(ToIntFunction super T> mapper)
Parmi eux, ToIntFunction est une interface de fonction, représentant une fonction de type d'entrée T et de type de sortie int. Lors de l'utilisation de la méthode mapToInt(), nous devons transmettre une implémentation ToIntFunction pour convertir les éléments de la collection en int.
2. Exemples d'utilisation
Voici quelques exemples d'utilisation de la méthode mapToInt() :
Exemple 1 : Mappez la longueur des éléments d'une collection de chaînes sur le type int
List<String> list = Arrays.asList("Apple", "Banana", "Orange", "Grapes"); IntStream intStream = list.stream().mapToInt(String::length); intStream.forEach(System.out::println);
Dans cet exemple, nous créons d'abord une chaîne de caractères. liste de collections et convertissez-la en Stream à l’aide de la méthode stream(). Ensuite, utilisez la méthode mapToInt() pour mapper la longueur de chaque élément de la collection pour taper int et renvoyer un IntStream. Enfin, nous générons chaque valeur int mappée via la méthode forEach.
Exemple 2 : Mappage d'un attribut dans une collection d'objets pour taper int
Supposons que nous ayons une classe Person, qui a un attribut age. Nous pouvons mapper l'attribut age de chaque personne dans la collection d'objets Person au type int via la méthode mapToInt().
class Person { private int age; public Person(int age) { this.age = age; } public int getAge() { return age; } } List<Person> list = Arrays.asList( new Person(20), new Person(30), new Person(40) ); IntStream intStream = list.stream().mapToInt(Person::getAge); intStream.forEach(System.out::println);
Dans cet exemple, nous créons d'abord une classe Person et définissons un attribut age et une méthode getAge() dans la classe. Ensuite, une liste de collections d’objets Person est créée et convertie en Stream via la méthode stream(). Ensuite, utilisez la méthode mapToInt() pour mapper l'attribut age de chaque objet Person de la collection au type int et renvoyer un IntStream. Enfin, nous générons chaque valeur int mappée via la méthode forEach.
3. Résumé
Cet article présente la méthode mapToInt() de l'API Stream dans Java 8. Cette méthode peut mapper les éléments de la collection au type int et renvoyer un IntStream. Nous avons montré comment utiliser la méthode mapToInt() à travers des exemples, notamment en mappant la longueur des éléments de la collection de chaînes au type int et en mappant une propriété de la collection d'objets au type int.
En utilisant l'API Stream et la méthode mapToInt(), nous pouvons effectuer des opérations de collecte de manière plus concise et efficace dans le code. J'espère que cet article vous sera utile pour comprendre et utiliser l'API Stream dans Java 8.
Référence :
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!