Elenco di tuple in flutter / dart
Oct 09 2020
Vorrei avere un elenco di tuple in dart / flutter, passarci sopra e leggere la prima e la seconda variabile. C'è un pacchetto pub.dev che crea una tupla in flutter. C'è un altro modo in Dart? Devo usare una classe per creare una tupla come fa il pacchetto flutter?
Ho iniziato a creare un esempio in freccette
void main() {
List testList = [("a",1),("b",2),("c",3),("d",4),("e",5)];
for (var i = 0; i < 5; i++) {
print('hello $i');
currentItem = testList[i];
}
}
Risposte
5 julemand101 Oct 09 2020 at 15:53
Esempio di come è possibile iterare sulle coppie di dati utilizzando una Mapstruttura come dati:
void main() {
final testMap = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5};
for (final mapEntry in testMap.entries) {
final key = mapEntry.key;
final value = mapEntry.value;
print('Key: $key, Value: $value');
// Key: a, Value: 1
// Key: b, Value: 2
// Key: c, Value: 3
// Key: d, Value: 4
// Key: e, Value: 5
}
}
Puoi anche introdurre piuttosto facilmente la tua Pairclasse che ti consente di legare due oggetti insieme:
class Pair<T1, T2> {
final T1 a;
final T2 b;
Pair(this.a, this.b);
}
void main() {
final testList = [
Pair("a", 1),
Pair("b", 2),
Pair("c", 3),
Pair("d", 4),
Pair("e", 5)
];
for (final pair in testList) {
print('${pair.a} -> ${pair.b}');
}
// a -> 1
// b -> 2
// c -> 3
// d -> 4
// e -> 5
}
Nella maggior parte dei casi ti consiglierò di fare un classbisogno specifico per te poiché rende più facile creare codice sicuro.
3 jamesdlin Oct 09 2020 at 22:34
Se vuoi usare package:tuple, potresti fare:
void main() {
var testList = <Tuple2<String, int>>[
Tuple2("a", 1),
Tuple2("b", 2),
Tuple2("c", 3),
Tuple2("d", 4),
Tuple2("e", 5),
];
for (var tuple in testList) {
print('current tuple: (${tuple.item1}, ${tuple,item2})');
}
}