Lijst initialiseren<List<Integer>> op Java

Hoe kan ik List<List<Integer>>initialiseren in Java?

Ik weet dat Listeen interface is en ik kan ArrayListof LinkedListgebruiken 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 Listdefinieert, 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.

Other episodes