使用逗号分隔将ArrayList数据转换为指定的String []?

时间:2012-05-28 13:03:39

标签: java string arraylist

  

可能重复:
  Convert ArrayList<String> to String []

如何将ArrayList转换为String[]

例如,我的ArrayList

arrlist=[audio,video,song,tech]

我想将其转换为String[],如下所示:

String[] data;

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

我的问题是ArrayList数据可以动态更改,但我想在有限大小的数组中使用返回格式。

2 个答案:

答案 0 :(得分:12)

您可以使用toArray(T[])

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

你不必将非零长度数组传递给这个函数,但是如果你这样做并且它足够大,toArray将只使用它,如果你不这样做,那么toArray将进行第二次分配。这不是一个很好的优化点;相反,它是标准惯例。

另请注意,String[]不是不可变的,它只是固定大小。 ArrayListString[]都会允许您的数据“更改”;如果你想要一个不可变的列表(一个无法编辑的列表和哪些内容无法替换),你可以在Google Guava中找到一个,或者自己实现自己的。

答案 1 :(得分:2)

来自

Convert ArrayList<String> to String[] array

 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