Hoe kan ik List<List<Integer>>
initialiseren in Java?
Ik weet dat List
een interface is en ik kan ArrayList
of LinkedList
gebruiken om List<Integer> list = new ArrayList<Integer>()
, maar wanneer ik List<List<Integer>> list = new ArrayList<ArrayList<Integer>>();
Ik krijg een fout incompatibele typen:
ArrayList<ArrayList<Integer>> cannot be converted to List<List<Integer>>.
Dus hoe kan ik verder gaan?
Antwoord 1, autoriteit 100%
Gebruik
List<List<Integer>> list = new ArrayList<List<Integer>>();
of sinds Java 1.7
List<List<Integer>> list = new ArrayList<>();
Antwoord 2, autoriteit 16%
U kunt het definiëren als List<List<Integer>> list = new ArrayList<List<Integer>>();
.
Terwijl u de binnenste List
definieert, kunt u ervoor zorgen dat deze wordt geïnitialiseerd als ArrayList<Integer>
.
Antwoord 3, autoriteit 5%
U kunt het definiëren als List<List<Integer>> list = new LinkedList();
Antwoord 4, autoriteit 3%
U kunt dit initialiseren als
List<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
Houd er rekening mee dat de inner List een implementatie van de List-interface moet zijn, bijvoorbeeld ArrayList.
Aangezien List een interface is, kan men geen objecten van het type List zelf hebben.