"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je convertir efficacement une liste Java en une carte à l'aide de flux et de lambdas?

Comment puis-je convertir efficacement une liste Java en une carte à l'aide de flux et de lambdas?

Publié le 2025-03-24
Parcourir:227

How Can I Efficiently Convert a Java List to a Map Using Streams and Lambdas?

Convertir la liste java en map avec java 8 streams et lambdas

background: une carte est une tâche commune. Java 7 et ci-dessous nécessitent un codage impératif à l'aide d'une boucle for-out. Dans Java 8, l'utilisation de flux et de lambdas fournit une solution concise et élégante.

solution java 7:

map privé namemap (list choix) { map final hashmap = new hashmap (); pour (choix final de choix: choix) { hashmap.put (choix.getName (), choix); } retour hashmap; }

private Map nameMap(List choices) {
    final Map hashMap = new HashMap();
    for (final Choice choice : choices) {
        hashMap.put(choice.getName(), choice);
    }
    return hashMap;
}

Leverage de la classe des collectionneurs, la conversion peut être effectuée dans une seule opération de flux:

map result = Choices.Stream (). Collec Function.Identity ()));

ici, choix :: getName récupère la clé de nom, et function.Identity () conserve la valeur.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3