[英]Convert a List<List<string>> to string[]
什么是将<List<List<string>>
转换为字符串数组的最短方法?
我尝试使用foreach
循环,但在这种情况下我没有我的数组的索引,所以我无法填满数组!? :-(
foreach (List<string> list in myList)
{
foreach (string s in list)
{
Array[s] = list.ToArray;
}
}
首先你需要知道数组需要多大(这是因为Java中的数组不能是动态的;不能动态地改变它们的大小):
int max = 0;
for(List<String> list : myList)
{
max += list.size();
}
String[] array = new String[max];
然后使用你的foreach循环(请注意,它有不同的语法)和一个额外的变量来保持当前索引:
int i = 0;
for(List<string> list : myList)
{
for(String s : list)
{
array[i++] = s;
}
}
还请注意String
是如何拼写的。
首先,计算String[]
数组的大小。
int size = 0;
for(List list : myList)
{
size += list.size();
}
String[] array = new String[size];
然后,使用每个列表中的所有字符串来完成数组:
int i = 0;
for (List<String> list : myList) {
for (String s : list) {
array[i++] = s;
}
}
for(int i=0; i<myList.size(); i++){ ... }
你可以使用这样的东西:
int i=0;
foreach (List<string> list in myList)
{
foreach (string s in list)
{
Array[i] = s;
i++;
}
}
List<List<String>> lisfOfList = new ArrayList<List<String>>();
List<String> result = new ArrayList<String>();
for(List<String> list : lisfOfList){
result.addAll(list);
}
String[] s = result.toArray(new String[result.size()]);
试试这样,
List <String> list1 = new ArrayList <String>();
list1.add( “AA”);
list1.add( “BB”);
List <String> list2 = new ArrayList <String>();
list2.add( “CC”);
list2.add( “DD”);
list2.add( “EE”);
List <List <String >> arrL = new ArrayList <List <String >>();
arrL.add(列表1);
arrL.add(列表2);
List <String> strList = new ArrayList <String>();
for(List <String> list:arrL)
{strList.addAll(list); }
String [] strArray = new String [strList.size()];
strList.toArray(strArray);
for(String string:strArray)
{System.out.println(string); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.