将字符串列表的列表展平为单个逗号分隔列表

时间:2016-05-17 03:38:35

标签: java collections

如何将字符串列表的列表转换为单个逗号分隔列表(将列表展平为一个)?例如:

[[[B1, TMC, Streampix], [HSD1, Streampix - HSD], [CDV1, CDV2]]] 

进入

[B1, TMC, Streampix], [HSD1, Streampix - HSD], [CDV1, CDV2]

4 个答案:

答案 0 :(得分:1)

使用流变得非常简单。

对每个列表进行流式处理,将其转换为以逗号分隔的字符串,然后将它们全部收集到一个大列表中。

B1,TMC,Streampix
HSD1,Streampix - HSD
CDV1,CDV2

输出

R=301

答案 1 :(得分:0)

这其实很简单。

你实际上可以创建一个arraylists的arraylist!然后用循环打印出来,它将采用您想要的格式

以下是我认为可以为您提供帮助的示例。

ArrayList<ArrayList> list = new ArrayList();//create a list of lists
ArrayList<String> test = new ArrayList();//sample data
ArrayList<String> test2 = new ArrayList();//sample data

test.add("Test");//add sample data to list
test.add("Test");
test.add("Test");
test2.add("Test");
test2.add("Test");
test2.add("Test");

list.add(test);//ad sample lists to main list
list.add(test2);

for (int i = 0; i < list.size(); i++)//this is what you want for your list
    System.out.println(list.get(i));

输出为

  

[测试,测试,测试]     [测试,测试,测试]代替[[测试,测试,测试],[测试,测试,测试]]

答案 2 :(得分:0)

你的意思是:

//inputList is your List of List of String
List<String> retval = new ArrayList<>();
for(List<String> l : inputList){
    retval.add(l.toString());
}

然后retval = [B1, TMC, Streampix], [HSD1, Streampix - HSD], [CDV1, CDV2]

答案 3 :(得分:0)

如果你有Apache Commons Lang lib

,请使用StringUtils.join()方法

假设列表具有以下元素

 List list = [[["B1", "TMC", "Streampix"], ["HSD1", "Streampix - HSD"], ["CDV1", "CDV2"]]]

然后:

String strList = StringUtils.join(list,',');
System.out.println(strList);

输出:

[[B1, TMC, Streampix], [HSD1, Streampix - HSD], [CDV1, CDV2]]

作为参考,请参阅链接How to convert a List<String> list to csv string

希望这会对你有所帮助...... :)