Java:将一个arraylist转换为一个带有附加元素的数组

use*_*969 1 java arrays arraylist

我知道将arraylist转换为数组的代码是:

private String[] arrayLst_to_array(ArrayList<String> al) {
    String[] arr = new String[al.size()];
    arr = al.toArray(arr);
    return arr;
}
Run Code Online (Sandbox Code Playgroud)

但我希望我的新数组在开始时有一个字符串,然后在那之后,我想要其余的arraylist.

我知道我可以将我想要的字符串添加到arraylist的开头,然后转换它,但是有更有效的方法吗?

ars*_*jii 7

你可以使用System.arraycopy():

String[] arr = new String[al.size() + 1];
arr[0] = someStr;  // initial string

// copy the list:
System.arraycopy(al.toArray(), 0, arr, 1, al.size());

return arr;
Run Code Online (Sandbox Code Playgroud)