java - How can I transform a List of List (multidimensional List) to an Array of Array(multidimensional Array)? -


i have written code, @ run time have error:

[ljava.lang.object; cannot cast [[ljava.lang.string; please me, thanks!!!

public  java.util.list<string>  concatall(java.util.list<java.util.list<string>> mergedlist) {        java.lang.string [][] mergedarray = (string[][])mergedlist.toarray();      iterator<java.util.list<string>> itr = mergedlist.iterator();       java.util.list<string> list1 = itr.next();            java.lang.string [] firstarray = (string[])list1.toarray();                     int totallength = firstarray.length;           (string[] array : mergedarray) {             totallength += array.length;           }           string[] result = arrays.copyof(firstarray, totallength);           int offset = firstarray.length;           (string[] array : mergedarray) {             system.arraycopy(array, 0, result, offset, array.length);             offset += array.length;           }           java.util.list<string> finallist = arrays.aslist(result);           (string list : finallist)               system.out.println(list);      return finallist; } 

there's no out-of-the-box method, it's straightforward hand:

// create outer dimension of array, same size total list string[][] mergedarray = new string[mergedlist.size()][];  // iterate on each nested list , convert them string[] // instances form inner dimension (int = 0; < mergedlist.size(); i++) {     mergedarray[i] = mergedlist.get(i).toarray(new string[0]); } 

a more efficient version of loop body be

list<string> innerlist = mergedlist.get(i); string[] innerasarray = innerlist.toarray(new string[innerlist.size()]); mergedarray[i] = innerasarray; 

as avoids array resizing required in initial example (the new string[0] isn't large enough hold list elements). quite frankly, unless performance critical loop, i'd prefer first version find clearer see what's going on.


Comments

Popular posts from this blog

How to check data type in C++? -

javascript - Is getTimezoneOffset() stable during daylight saving transition? -

sql server - SQL Query returns one result, does not return 0 or NULL result -