Not able to understand how to define a List of List in java -
this question has answer here:
i want understand difference between 2 definitions , why correct 1 correct , wrong wrong.
the 1 showing me compile-error
list<list<integer>> arr2 = new arraylist<arraylist<integer>>(); the error gave me :
try2.java:8: error: incompatible types: arraylist<arraylist<integer>> cannot converted list<list<integer>> list<list<integer>> arr2 = new arraylist<arraylist<integer>>(); the 1 working:
list<arraylist<integer>> arr = new arraylist<arraylist<integer>>(); note:
i understand why below 1 works:
list<integer> arr = new arraylist<integer>(); edit-1:
now want understand wrong list<list<integer>> arr2 = new arraylist<arraylist<integer>>();
you use diamond operator, ghostcat suggested, , let compiler worry correct type.
but if want understand correct type should be, use:
list<list<integer>> arr2 = new arraylist<list<integer>>(); you instantiating list of (let's forget second happens list<integer>), need create instance of class implements list interface - arraylist in case. create instance of arraylist of something.
the element type (my called "something") - list<integer> in example - remains unchanged.
now, when want add element list, need create instance of class implements list<integer>:
list<integer> inner = new arraylist<integer>(); arr2.add(inner);
Comments
Post a Comment