Reputation: 431
How, in Java, do I convert an ArrayList of arrays to a two-dimensional array?
Example:
ArrayList<String[]> results = new ArrayList<String[]>();
String [] columns = {a few strings};
JTable table = new JTable(results.toArray(), columns);
I get the error that JTable(Object[], Object[]) is not defined.
Upvotes: 5
Views: 8513
Reputation: 718816
The List<T>.toArray(T[])
method should do the job.
For example:
List<String[]> list = ...
String[][] res = new String[list.size()][];
list.toArray(res);
or
List<String[]> list = ...
Object[][] res = new Object[list.size()][];
list.toArray(res);
If you use this overload rather than the List<T>.toArray()
overload, you can choose the actual type of the array. It takes one extra line of code, but if the array type is significant, this is the way to do it.
(The List<T>.toArray()
overload gives you an array whose actual type is Object[]
... irrespective of the generic type of the list, or the actual type(s) of the list elements.)
Upvotes: 16