Skip to content
Kezdőlap » Gyűjtemények (Collections)

Gyűjtemények (Collections)

  • Dart

A gyűjtemények (Collections) a Dart nyelvben egy összefoglaló elnevezése a lista típusú adatoknak (List, Map, Set).

List (lista típus)

A List típussal egy külön bejegyzés foglalkozik, de azért itt is megemlítem. Ez a leggyakrabban alkalmazott típus, amit más programnyelvekben tömbként ismerünk.

A Dart-ban a listák a tömbök és vesszővel elválasztva adjuk meg a [ ] -ek között a lista elemeket:

var list = [1, 2, 3];

var stringList = [
  'Car',
  'Boat',
  'Plane',
];

A List típus egy rendezett lista, ahol az első elem indexe 0.

Set (halmaz típus)

A Set vagyis a halmaz típus egy rendezetlen listája egyedi elemeknek. Utóbbi azt jelent, hogy egy elem csakis egyszer szerepelhet a listában.

var colors =  {'red' 'green', 'blue'};

Üres halmaz létrehozásának módjai:

var colors = <String>{};
Set String names = {};

Map (kulcs-érték típus)

És jöjjön a kollekciók „királya” a Map, ami kulcs – érték párokat tartalmazó objektum. Mind a kulcsok és mind az értékek bármilyen típusú objektumok lehetnek. Egy kulcs csak egyszer fordulhat elő egy Map-en belül, de egy érték többször is.

var gifts = {
  // Key:    Value
  'first': 'partridge',
  'second': 'turtledoves',
  'fifth': 'golden rings'
};

var nobleGases = {
  2: 'helium',
  10: 'neon',
  18: 'argon',
};

A gifts nevű Map típusát így jelöljük: Map<String, String>

Itt az első String a kulcs típusa, a második pedig az érték típusa.

Map-eket a Map konstruktorral is létre lehet hozni:

var gifts = Map<String, String>();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';

var nobleGases = Map<int, String>();
nobleGases[2] = 'helium';
nobleGases[10] = 'neon';
nobleGases[18] = 'argon';

Több lista típus kombinációja

Az „élvezeteket” lehet tovább is fokozni. Például:

List<Map<String, Object>> myData() {
//...
}

Ezzel létrehoztunk egy olyan függvényt, ami visszaad egy olyan listát, aminek az elemei Map-ek. És ez a Map pedig úgy néz ki, hogy a kulcs String típusú. Az érték pedig Object. Itt az a „trükk”, hogy a Dart-ban végsősoron minden objektum. Így a fenti definicióban az Object azt jelenti, hogy a kulcs gyakorlatilag bármilyen típust felvehet.

Dart dokumentáció

Itt található a Dart hivatalos dokumentációja a kollekciókról.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük