Flutter / dart'ta tuple listesi

Oct 09 2020

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

5 julemand101 Oct 09 2020 at 15:53

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 .

3 jamesdlin Oct 09 2020 at 22:34

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})');
  }
}