简体   繁体   中英

Java convert ArrayList<String[]> to String[][]

我是否必须遍历每个元素以将ArrayList<String[]>转换为String[][]或者是否有更有效的方法?

Just get the contents as an array

List<String[]> list = new ArrayList<>();
...
String[][] array = list.toArray(new String[0][0]); // the size here is not important, the array is just an indication of the type to use

You can use .toArray(T[]) for this.

public static void main(String[] args) {
    List<String[]> l = new ArrayList<String[]>();

    String[] a = {"lala", "lolo"};
    String[] b = {"lili", "lulu"};
    l.add(a);
    l.add(b);

    String[][] r = new String[l.size()][];
    r = l.toArray(r);

    for(String[] s : r){
        System.out.println(Arrays.toString(s));
    }
}

Output:

[lala, lolo]
[lili, lulu]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM