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

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

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

シニア番号 ダーツコレクションと説明
1 リスト

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

  • Fixed Length List −リストの長さは実行時に変更できません。

  • Growable List −リストの長さは実行時に変更される可能性があります。

2 セットする

セットは、各オブジェクトが1回だけ発生する可能性のあるオブジェクトのコレクションを表します。dart:coreライブラリは、同じものを実装するためのSetクラスを提供します。

3 マップ

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

4 キュー

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

コレクションの反復

からのイテレータクラス dart:coreライブラリを使用すると、コレクションを簡単にトラバースできます。すべてのコレクションには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 イテレータオブジェクトのプロパティは、イテレータが現在指しているオブジェクトの値を返します。

このプログラムは次のものを生成するはずです output

100 
200 
300