Add one more element to multi dimensional array in java -
a method returning 2-dimensional array in java. want add 1 more element it. not sure of syntax of how copy new 2-d array& add 1 more element. have idea?
string arr[][]=gettwodarray();   now want add 1 more row it. this
string newarr[][] = new string[arr.length+1][]; arr[length+1][0]= {"car"};   any idea?
you can't resize arrays: size fixed @ creation time.
you can create new array , copy contents in; can conveniently using arrays.copyof (*):
string newarr[][] = arrays.copyof(arr, arr.length + 1); // note newarr[arr.length] null. newarr[arr.length] = new string[] { "car" };   however, pointed out @kevinesche in comment on question, might find arraylist (or maybe other kind of list) more convenient use: although backed array, , needs resize array occasionally, hides details you.
(*) gotcha here arrays.copyof performs shallow copy of arr, changes elements of arr[i] reflected in elements of newarr[i] (for 0 <= < arr.length). should need it, can make deep copy looping on elements of arr, calling arrays.copyof on each.
string newarr[][] = arrays.copyof(arr, arr.length + 1); (int = 0; < arr.length; ++i) {   newarr[i] = arrays.copyof(arr[i], arr[i].length); } // ...      
Comments
Post a Comment