En nyt oikein kykene hahmottamaan, miten lista listan sisällä toimii, kun tyyppinä on luokka.
class User { public int pID; public User(int pID) { this.pID = pID; } } public List<List<User>> users = new List<List<User>>();
Mitenkä lisään elementin listaan?
Oletan, että kieli on C#.
Tee uusi lista.
List<User> userlist = new List<User>(); userlist.Add(new User(1)); userlist.Add(new User(2));
Ja lisää tämä uusi lista "users" -listaan.
users.Add(userlist);
Nyt sinulla on lista, jonka sisällä on lista, joka sisältää 2 käyttäjää.
Tuosta saa myös vähän inhimillisemmän wräppäämällä toisen listan:
public class UserCollection : List<User> { } public class User { public int pID; public User(int pID) { this.pID = pID; } } //................... List<UserCollection> Lists = new List<UserCollection>(); UserCollection UC1 = new UserCollection(); UC1.add(new User(1)); UC1.add(new User(2)); UserCollection UC2 = new UserCollection(); UC2.add(new User(1)); UC2.add(new User(2)); lists.add(UC1); lists.add(UC2);
Eihän sitä listaa ole pakko noin tehdä, vaan sen voi myös lisätä ensin ja täyttää sitten.
List<List<string>> data = new List<List<string>>(); data.Add(new List<string>()); // data[0] data.Add(new List<string>()); // data[1] data[0].Add("apina"); // data[0][0] data[0].Add("banaani"); // data[0][1] data[1].Add("cembalo"); // data[1][0] data[1].Add("delfiini"); // data[1][1] System.Console.WriteLine(data[1][1]); // "delfiini"
Olennainen juttu tässä on, että kun listoja sisältävä lista on luotu, se ei vielä sisällä yhtäkään listaa, vaan kaikki sisemmätkin listat pitää itse luoda ja lisätä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.