首页 > 解决方案 > 转换列表> 到一个列表爪哇

问题描述

我已经ArrayList<List<String>>包含数据。例如:

[[1,2,3],[1,2,3],[1,2,3]]

我试图将它转换成,List<String>但它变成

[1,2,3,1,2,3,1,2,3]

代码:

List<String> f = 
            ch.stream()
                .flatMap(List::stream)
                .collect(Collectors.toList());
    System.out.println(f);

如何将其转换为以下输出,以便通过以下方式获取索引list.get(index)

List<String> list = [1,2,3],[1,2,3],[1,2,3];

标签: javastringlistarrayliststream

解决方案


你追求以下吗?

    List<List<String>> ch = List.of(List.of("1", "2", "3"), List.of("1", "2", "3"), List.of("1", "2", "3"));
    
    System.out.println(ch);
    
    List<String> f = ch.stream()
            .map(List::toString)
            .collect(Collectors.toList());
    
    System.out.println(f);

在输出中,两个列表看起来相同:

[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]

但是我们从代码中可以看出,前者是列表的列表,后者只是字符串的列表。


推荐阅读