Avatar ·

Como converter uma lista de listas (List<List<T>>) em uma lista plana (List<T>) no Java 8?

Olá a todos! Comecei a aprender Java 8 e Stream API e me deparei com o seguinte problema. Tenho uma estrutura de dados que é uma lista de listas de strings. Por exemplo, estou obtendo dados de um arquivo CSV, onde cada linha é uma lista de campos e o arquivo inteiro é uma lista dessas linhas. Preciso combinar todas essas linhas em uma única lista, ou seja, "desenrolar" a estrutura aninhada. Aqui está um exemplo simplificado do que tenho: ```java List> listOfLists = Arrays.asList( Arrays.asList("a", "b", "c"), Arrays.asList("d", "e"), Arrays.asList("f", "g", "h", "i") ); ``` Quero obter como saída: ```java List flatList = Arrays.asList("a", "b", "c", "d", "e", "f", "g", "h", "i"); ``` Sei que no Java antigo (antes do 8) isso poderia ser feito através de