Ik wil een 2D-array maken waarbij elke cel een ArrayList
is!
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 array van ArrayList
wilt 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 List
te 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);
Vervolgens moet u alle kolommen van uw 2D-array instantiëren
for(int i = 0; i < size; i++) {
listOfLists.add(new ArrayList<String>());
}
En je zult het als volgt gebruiken:
listOfLists.get(0).add("foobar");
Maar als u echt “een 2D-array wilt maken, moet elke cel een ArrayList zijn!”
Dan moet je de dijkstra-weg nemen.
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 worden bereikt door het maken van een object van de lijstgegevensstructuur, als volgt
Lijstlijst = nieuwe ArrayList();
Zie deze link voor meer informatie