java - Multi-Dimensional ArrayList initialized with values -
i'm new coding. teacher introduced arrays , arraylists. have multi-dimensional array this:
private string[][] pods = {{"pod1", ""}, {"pod2", ""}, {"pod3", ""}, {"pod4", ""}};
i'd switch arraylist, need edit information in there.
how this, multi-dimensional arraylist? i'd initialize above information.
i've tried this:
private arraylist<arraylist<string>> pods = new arraylist();
whenever put stuff between parenthesis, invalid operator error.
by way, in case wondering - not class assignment. i'm trying on own.
thanks.
firstly, approach half-correct.
you can have arraylist
of arraylist
s double-dimensional array.
however...
you're initializing list
raw type. java 7, can change assignment diamond-type inference:
list<list<string>> pods = new arraylist<>();
in earlier versions:
list<list<string>> pods = new arraylist<list<string>>();
you need populate lists.
for that, you'll need iteration.
here's complete java 7 example (using list
"code interface" guideline suggests).
string[][] info = {{"pod1", ""}, {"pod2", ""}, {"pod3", ""}, {"pod4", ""}}; list<list<string>> pods = new arraylist<>(); (string[] level1: info) { list<string> list = arrays.aslist(level1); // use instead if intend modify inner lists // list<string> list = new arraylist<>(arrays.aslist(level1)); pods.add(list); } system.out.println(pods);
output
[[pod1, ], [pod2, ], [pod3, ], [pod4, ]]
and now, java 8 mojo:
string[][] info = {{"pod1", ""}, {"pod2", ""}, {"pod3", ""}, {"pod4", ""}}; list<list<string>> pods = arrays.stream(info) .map((a) -> arrays.aslist(a)) // use instead if intend modify inner lists // .map((a) -> arrays.stream(a).collect(collectors.tolist())) .collect(collectors.tolist()); system.out.println(pods);
(same) output
[[pod1, ], [pod2, ], [pod3, ], [pod4, ]]
Comments
Post a Comment