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.
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.
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 .
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.)
In this case, array.toArray()
will do the trick.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With