その他のプログラミング言語とは異なり、Dartは配列をサポートしていません。Dart集合は、配列構造などのデータ構造をコピーするために使用できます。dart:coreライブラリおよびその他のクラスにより、Dartスクリプトでの集合のサポートが可能になります。
Dart集合は以下のように分類できます。
番号 | 集合 | 説明 |
1 | List | List は、順序付けられたオブジェクトのグループです。dart:core ライブラリは、List を作成および操作できるListクラスを提供します。 |
2 | Set | Set はオブジェクトの集合を表し、各オブジェクトは1回しか表示できません。dart:core ライブラリは、同じ機能を実現するためのSet クラスを提供します。 |
3 | Map | Mapオブジェクトは、単純なキーと値のペアです。マッピング内のキーと値は、任意の型にすることができます。マッピングは動的な集合です。つまり、Mapsは実行時に拡大および縮小できます。dart:core ライブラリのMap クラスも同じサポートを提供します。 |
4 | Queue | キューは、両端で操作できる集合です。キューは、先入れ先出しの集合を作成する場合に非常に便利です。つまり、キューは一方の端からデータを挿入し、もう一方の端からデータを削除します。挿入順に従って値を削除/読み取ります。 |
反復集合
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
コメントを残す