如何将字符串列表的列表转换为单个逗号分隔列表(将列表展平为一个)?例如:
[[[B1, TMC, Streampix], [HSD1, Streampix - HSD], [CDV1, CDV2]]]
进入
[B1, TMC, Streampix], [HSD1, Streampix - HSD], [CDV1, CDV2]
答案 0 :(得分:1)
使用java-8流变得非常简单。
对每个列表进行流式处理,将其转换为以逗号分隔的字符串,然后将它们全部收集到一个大列表中。
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
希望这会对你有所帮助...... :)