Maison > Java > javaDidacticiel > Comment convertir une liste Java 8 en une carte sans goyave ?

Comment convertir une liste Java 8 en une carte sans goyave ?

Barbara Streisand
Libérer: 2024-12-29 08:37:14
original
260 Les gens l'ont consulté

How to Convert a Java 8 List to a Map Without Guava?

Liste Java 8 dans Map sans Guava

Les développeurs Java peuvent utiliser la puissance de Java 8 pour convertir une liste en carte sans recourir à des bibliothèques tierces comme Guava.

Énoncé du problème

Considérez le défi de convertir une liste d'objets en une carte à l'aide de flux et de lambdas dans Java 8. L'approche traditionnelle de Java 7 et versions antérieures impliquaient une itération sur la liste et l'ajout manuel de chaque élément en tant que paire clé-valeur à la carte.

Solution Java 8

Java 8 fournit beaucoup solution plus simple et élégante utilisant la méthode Collectors.toMap(). Cette méthode prend deux fonctions comme arguments :

  • Key Mapper : Une fonction qui mappe chaque élément de la liste à la clé de la carte.
  • Value Mapper : Une fonction qui mappe chaque élément de la liste à la valeur de la carte.

Dans ce cas spécifique Dans ce cas, la clé sera le nom de chaque objet Choice et la valeur sera l'objet Choice lui-même. La méthode stream().collect() collecte ensuite les résultats dans une Map à l'aide de ces fonctions.

Map<String, Choice> result =
    choices.stream().collect(Collectors.toMap(Choice::getName,
                                              Function.identity()));
Copier après la connexion

Cet extrait de code concis et efficace met en valeur la puissance des flux et des lambdas Java 8 pour transformer des collections en différentes données. structures.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal