Dart集合

その他のプログラミング言語とは異なり、Dartは配列をサポートしていません。Dart集合は、配列構造などのデータ構造をコピーするために使用できます。dart:coreライブラリおよびその他のクラスにより、Dartスクリプトでの集合のサポートが可能になります。

Dart集合は以下のように分類できます。

番号集合説明
1ListListは、順序付けられたオブジェクトのグループです。dart:coreライブラリは、Listを作成および操作できるListクラスを提供します。
2SetSetはオブジェクトの集合を表し、各オブジェクトは1回しか表示できません。dart:coreライブラリは、同じ機能を実現するためのSetクラスを提供します。
3MapMapオブジェクトは、単純なキーと値のペアです。マッピング内のキーと値は、任意の型にすることができます。マッピングは動的な集合です。つまり、Mapsは実行時に拡大および縮小できます。dart:coreライブラリのMapクラスも同じサポートを提供します。
4Queueキューは、両端で操作できる集合です。キューは、先入れ先出しの集合を作成する場合に非常に便利です。つまり、キューは一方の端からデータを挿入し、もう一方の端からデータを削除します。挿入順に従って値を削除/読み取ります。

反復集合

dart:coreライブラリのIteratorクラスは、集合トラバーサルを実行できます。各集合にはイテレータ属性があります。この属性は、集合内のオブジェクトにイテレータを返します。

実例

以下の実例は、イテレータオブジェクトを使用して集合をトラバースする方法を示しています。

import 'dart:collection'; 
void main() { 
   Queue numQ = new Queue(); 
   numQ.addAll([11,22,33]);  
   Iterator i= numQ.iterator; 

   while(i.moveNext()) { 
      print(i.current); 
   } 
}

moveNext()関数は、後続のエントリがあるかどうかを示すブール値を返します。イテレータオブジェクトのcurrent属性は、イテレータが現在指しているオブジェクトの値を返します。

プログラムは以下の結果を出力します。

11
22
33
Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です