Daftar tupel di flutter / dart
Saya ingin memiliki daftar tupel di dart / flutter, putar di atasnya dan baca variabel pertama dan kedua. Ada paket pub.dev yang membuat tupel di flutter. Apakah ada cara lain dalam dart? Apakah saya perlu menggunakan kelas untuk membuat tupel seperti yang dilakukan paket flutter?
Saya mulai membuat contoh di dart pad
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];
}
}
Jawaban
Contoh bagaimana Anda dapat mengulang pasangan data Anda dengan menggunakan Mapstruktur data as:
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
}
}
Anda juga dapat dengan mudah memperkenalkan Pairkelas Anda sendiri yang memungkinkan Anda untuk mengikat dua objek menjadi satu:
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
}
Dalam kebanyakan kasus, saya akan merekomendasikan Anda untuk membuatkan classkebutuhan khusus untuk Anda karena akan lebih mudah untuk membuat kode jenis aman.
Jika Anda ingin menggunakan package:tuple, Anda dapat melakukan:
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})');
}
}