Flutter / dart'ta tuple listesi
Dart / flutter'da tuple'ların bir listesine sahip olmak, bunların üzerinde döngü yapmak ve birinci ve ikinci değişkeni okumak istiyorum. Flutter'da bir demet oluşturan bir pub.dev paketi vardır. Dartta başka bir yol var mı? Flutter paketinin yaptığı gibi bir demet oluşturmak için bir sınıf kullanmam gerekir mi?
Dart pad'de bir örnek oluşturmaya başladım
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];
}
}
Yanıtlar
Bir Mapveri yapısı kullanarak veri çiftlerinizi nasıl yineleyebileceğinize ilişkin örnek :
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
}
}
Ayrıca Pair, iki nesneyi birbirine bağlamanıza izin veren kendi sınıfınızı kolayca tanıtabilirsiniz :
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
}
Çoğu durumda, classgüvenli kod yazmayı kolaylaştırdığından, size özel bir ihtiyaç yapmanızı tavsiye ederim .
Kullanmak istiyorsanız package:tupleşunları yapabilirsiniz:
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})');
}
}