La manera més organitzada de crear una llista és posant-ho explícitament i indicant el tipus de dades:
... List<String> estacions = ["hivern", "primavera", "estiu", "tardor"]; ...
També podem fer:
... List<String> estacions; estacions = ["hivern", "primavera", "estiu", "tardor"]; ...
I podem definir la llista com a var, en quin cas podrà tenir elements de tipus diferents.
... var llista = ["Ferro", 3, 34.5]; ...
però caldrà vigilar a l'hora de fer-ne servir els elements.
Podem accedir a qualsevol element indicant-ne la posició, tenint en compte que el primer element té la posició 0.
... String actual = estacions[1]; ...
I els podem assignar un nou valor:
... estacions[0] = "gelor"; ...
És possible imprimir la llista sencera:
... List<String> estacions = ["hivern", "primavera", "estiu", "tardor"]; print(estacions); // Escriu: ["hivern", "primavera", "estiu", "tardor"] ...
Es pot accedir al primer i al darrer element d'una llista fent servir, respectivament, les ordres first i last. També es pot consultar la seva llargada amb length.
... String primer = estacions.first; // Hivern String darrer = estacions.last; // Tardor int llargada = estacions.length; // 4 ...
La llista té quatre elements, que tenen índexs entre 0 i 3.
A les llistes se'ls poden afegir elements fent servir add.
...
List<String> noms = ["Paula", "Jordi"];
noms.add("Laura");
noms.add("Manel");
print(noms); // Escriu: [Paula, Jordi, Laura, Manel]
...
Emprant add, els nous elements s'afegeixen al final. Podem afegir en qualsevol posició vàlida amb insert, indicant a quina posició afegim.
... List<String> noms = ["Paula", "Eric", "Alba", "Joan"]; noms.insert(2, "Maria"); print(noms); // Escriu: [Paula, Eric, Maria, Alba, Joan] ...
Emprant addAll podem fer servir una llista per afegir elements a una altra llista.
... List<String> noms = ["Paula", "Eric"]; var noms2 = ["Alba", "Joan"]; noms.addAll(noms2); print(noms); // Escriu: [Paula, Eric, Alba, Joan] ...
O bé:
... List<String> noms = ["Paula", "Eric"]; noms.addAll(["Alba", "Joan"]); print(noms); // Escriu: [Paula, Eric, Alba, Joan] ...
Amb remove podem eliminar un element.
...
List<String> noms = ["Paula", "Eric", "Alba", "Joan"];
noms.remove("Alba");
print(noms); // Escriu: [Paula, Eric, Joan]
...
Si l'element a eliminar hi és més d'un cop, s'eliminarà només aquell que estigui primer (amb un índex més baix) i la resta es mantindran.
I fent servir removeAt podem eliminar l'element d'una posició concreta.
... List<String> noms = ["Paula", "Eric", "Alba", "Joan"]; noms.removeAt(1); print(noms); // Escriu: [Paula, Alba, Joan] ...
Existeix la possibilitat d'esborrar tots els elements, emprant clear.
... List<String> noms = ["Paula", "Eric", "Alba", "Joan"]; noms.clear(); print(noms); // Escriu: [] ...
Podem fer servir un bucle for amb índex per recórrer tots els elements de la llista.
...
List<int> valors = [0, 1, 3, 2];
for(int i = 0; i < valors.length; i++){
print(valors[i]);
}
...
També podem emprar un for específic per a agrupacions:
...
List<int> valors = [0, 1, 3, 2];
for(int elem in valors){
print(elem);
}
...
Alternativament, podem emprar un forEach:
... List<int> valors = [0, 1, 3, 2]; valors.forEach(print); ...
O d'una manera una mica més desenvolupada i flexible:
...
List<int> valors = [0, 1, 3, 2];
valors.forEach((elem){
print("Element: $elem");
});
...
Podem tenir llistes de llistes, que permeten tenir la informació en una estructura matricial. Per fer una estructura bidimensional, tindríem:
... List<List<int>> estatCaselles = [[0, 1, 2], [2, 0, 1], [1, 2, 0]]; ...
Llavors podem llegir cada valor emmagatzemat fent servir els seus dos índexs:
...
estatAct = estats[i][j];
...

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.