Dart-programming-collection

提供:Dev Guides
移動先:案内検索

Dartプログラミング-コレクション

Dartは他のプログラミング言語とは異なり、配列をサポートしていません。 Dartコレクションを使用して、配列などのデータ構造を複製できます。 dart:coreライブラリと他のクラスは、Dartスクリプトでのコレクションサポートを有効にします。

Dartコレクションは基本的に次のように分類できます-

Sr.No Dart collection & Description
1

List

リストは、単にオブジェクトの順序付けられたグループです。 dart:core ライブラリは、リストの作成と操作を可能にするListクラスを提供します。

  • 固定長リスト-リストの長さは実行時に変更できません。
  • 成長可能なリスト-リストの長さは実行時に変更できます。
2

Set

Setは、各オブジェクトが1回しか出現できないオブジェクトのコレクションを表します。 dart:coreライブラリは、同じものを実装するSetクラスを提供します。

3

Maps

Mapオブジェクトは、単純なキー/値のペアです。 マップ内のキーと値はどのタイプでもかまいません。 マップは動的なコレクションです。 つまり、マップは実行時に拡大および縮小することができます。 dart:coreライブラリのMapクラスは、同じサポートを提供します。

4

Queue

キューは、両端で操作できるコレクションです。 キューは、先入れ先出しのコレクションを構築する場合に役立ちます。 簡単に言えば、キュ​​ーは一方の端からデータを挿入し、もう一方の端から削除します。 値は、挿入された順に削除または読み取られます。

コレクションの反復

*dart:core* ライブラリのIteratorクラスを使用すると、コレクションを簡単にたどることができます。 すべてのコレクションには *iterator* プロパティがあります。 このプロパティは、コレクション内のオブジェクトを指すイテレータを返します。

次の例は、反復子オブジェクトを使用してコレクションを走査する方法を示しています。

import 'dart:collection';
void main() {
   Queue numQ = new Queue();
   numQ.addAll([100,200,300]);
   Iterator i= numQ.iterator;

   while(i.moveNext()) {
      print(i.current);
   }
}
  • moveNext()関数は、後続のエントリがあるかどうかを示すブール値を返します。 反復子オブジェクトの *current プロパティは、反復子が現在指しているオブジェクトの値を返します。

このプログラムは、次の*出力*を生成する必要があります-

100
200
300