Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 914
yodie Avatar asked Dec 07 '10 00:12

yodie


People also ask

Can we convert List to object?

A list can be converted to a set object using Set constructor. The resultant set will eliminate any duplicate entry present in the list and will contains only the unique values.

How do I convert a List of strings to a List of objects?

Pass the List<String> as a parameter to the constructor of a new ArrayList<Object> . List<Object> objectList = new ArrayList<Object>(stringList); Any Collection can be passed as an argument to the constructor as long as its type extends the type of the ArrayList , as String extends Object .


2 Answers

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.)

like image 184
Stephen C Avatar answered Oct 04 '22 21:10

Stephen C


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

like image 31
EboMike Avatar answered Oct 04 '22 21:10

EboMike