yodie
yodie

Reputation: 431

Convert ArrayList<Object[]> to Object[][]

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

Answers (2)

Stephen C
Stephen C

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

EboMike
EboMike

Reputation: 77752

In this case, array.toArray() will do the trick.

Upvotes: 3

Related Questions