-1

重複の可能性:
ArrayList<String> を String [] に変換する

ArrayListを に変換するにはどうすればよいString[]ですか?

たとえば、私のArrayList

arrlist=[audio,video,song,tech]

私はそれを次のように変換したいString[]:

String[] data;

data={ "audio","video","song","tech"};

私の問題は、ArrayListデータを動的に変更できることですが、有限サイズの配列で戻り形式が必要です。

4

2 に答える 2

12

使用できますtoArray(T[])

ArrayList<?> foo;
String[] data = foo.toArray(new String[foo.size()]);

この関数にゼロ以外の長さの配列を渡す必要はありませんが、渡して十分に大きい場合、toArray は単純にそれを使用します。渡さない場合、toArray は 2 番目の割り当てを行います。これは、それほど優れた最適化ポイントではありません。むしろ、それは標準的な規則です。

String[]また、は不変ではなく、固定サイズのみであることに注意してください。ArrayListとの両方で、String[]データを「変更」できます。不変リスト (編集できず、内容を置き換えることができないリスト) が必要な場合は、Google Guava で検索するか、独自のリストを簡単に実装できます。

于 2012-05-28T13:06:08.570 に答える
2

から

ArrayList<String> を String[] 配列に変換する

 ArrayList<String> stock_list = new ArrayList<String>();
    stock_list.add("stock1");
    stock_list.add("stock2");
    String[] stockArr = new String[stock_list.size()];
    stockArr = stock_list.toArray(stockArr);
    for(String s : stockArr)
        System.out.println(s);

http://viralpatel.net/blogs/2009/06/convert-arraylist-to-arrays-in-java.htmlから

于 2012-05-28T13:07:11.683 に答える