0

<List<List<string>>を文字列配列に変換する最短の方法は何ですか?

ループで試してみましたforeachが、この場合、配列のインデックスがないため、配列を埋めることができません!? :-(

        foreach (List<string> list in myList)
        {
            foreach (string s in list)
            {
                Array[s] = list.ToArray;
            }
        }
4

6 に答える 6

1

最初に、必要な配列の大きさを知る必要があります (これは、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の綴り方にも注意してください。

于 2013-10-26T09:49:59.037 に答える
1

まず、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;
    }
}
于 2013-10-26T09:52:36.880 に答える
0

次のようなものを使用できます:

int i=0;
foreach (List<string> list in myList)
        {
            foreach (string s in list)
            {
                Array[i] = s;
                i++;
            }
        }
于 2013-10-26T09:42:34.680 に答える
0

使用するfor(int i=0; i<myList.size(); i++){ ... }

于 2013-10-26T09:36:59.973 に答える
0
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()]);
于 2013-10-26T10:23:14.687 に答える
0

このようにしてみて、

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(list1);

arrL.add(list2);

List<String> strList = new ArrayList<String>();

for (List<String> list : arrL)

{ strList.addAll(リスト); }

文字列 []strArray = 新しい文字列[strList.size()];

strList.toArray(strArray);

for (文字列 string : strArray)

{ System.out.println(文字列); }

于 2013-10-26T10:25:06.057 に答える