Maison >Java >javaDidacticiel >Comment puis-je aplatir une liste de listes en une seule liste dans Java 8 ?

Comment puis-je aplatir une liste de listes en une seule liste dans Java 8 ?

DDD
DDDoriginal
2024-12-17 16:39:10762parcourir

How Can I Flatten a List of Lists into a Single List in Java 8?

Conversion d'une liste de listes en liste dans Java 8

Lorsque vous travaillez avec des listes imbriquées, il peut être utile de les aplatir en une seule, liste linéaire pour une itération et un traitement plus faciles. Java 8 propose plusieurs méthodes permettant d'accomplir cette tâche.

Une approche efficace consiste à utiliser l'opération flatMap. Supposons que nous ayons un objet List> liste nommée que nous voulons aplatir. Le code suivant montre comment y parvenir :

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

List<List<Object>> list = ...

List<Object> flat = list.stream()
    .flatMap(Stream::of)
    .collect(Collectors.toList());

flatMap prend chaque élément de la liste, qui est une autre liste d'objets, et le convertit en flux. Les objets individuels de chaque sous-liste sont ensuite fusionnés en un seul flux. Enfin, nous reconvertissons ce flux aplati en liste à l'aide de Collectors.toList().

Cette solution exploite la puissance des flux pour simplifier les tâches complexes de manipulation de données. En utilisant flatMap, nous pouvons facilement dérouler des listes imbriquées en une seule représentation linéaire.

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!

Déclaration:
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