Hoe maak je een 2D ArrayList in Java?

Ik wil een 2D-array maken waarbij elke cel een ArrayListis!

Ik overweeg deze definities, maar ik kan er niets aan toevoegen
zijn deze definities waar?!

ArrayList<ArrayList<String>> table = new ArrayList<ArrayList<String>>();

of

ArrayList[][] table = new ArrayList[10][10];
//table.add??????

Help me alsjeblieft


Antwoord 1, autoriteit 100%

Ik wil een 2D-array maken waarbij elke cel een ArrayList is!

Als u een 2D arrayvan ArrayListwilt maken. Dan kunt u dit doen:

ArrayList[][] table = new ArrayList[10][10];
table[0][0] = new ArrayList(); // add another ArrayList object to [0,0]
table[0][0].add(); // add object to that ArrayList

Antwoord 2, autoriteit 78%

De beste manier is om een Listte gebruiken binnen een List:

List<List<String>> listOfLists = new ArrayList<List<String>>();  

Antwoord 3, autoriteit 58%

Allereerst, wanneer u een variabele in Java declareert, moet u deze declareren met behulp van Interfaces, zelfs als u de implementatie opgeeft bij het instantiëren ervan

ArrayList<ArrayList<String>> listOfLists = new ArrayList<ArrayList<String>>();

moet worden geschreven

List<List<String>> listOfLists = new ArrayList<List<String>>(size); 

Dan moet u alle kolommen van uw 2D-array

instantiëren

   for(int i = 0; i < size; i++)  {
        listOfLists.add(new ArrayList<String>());
    }

en u gebruikt het als volgt:

listOfLists.get(0).add("foobar");

Maar als u echt wilt “Maak een 2D-array die elke cel een arrayclist is!”

Dan moet u de Dijkstra Way .


Antwoord 4, Autoriteit 5%

ArrayList<String>[][] list = new ArrayList[10][10];
list[0][0] = new ArrayList<>();
list[0][0].add("test");

Antwoord 5, Autoriteit 4%

Dit kan bereiken door een object van lijststructuur te maken, als volgt

Lijstlijst = nieuwe arrayclist ();

Raadpleeg deze link

Hoe maak je een multidimensionale arraylist in Java?

Other episodes