D-programming-associative-arrays
Dプログラミング-連想配列
連想配列には、必ずしも整数ではないインデックスがあり、まばらに入力できます。 連想配列のインデックスは Key と呼ばれ、そのタイプは KeyType と呼ばれます。
連想配列は、配列宣言の[]内にKeyTypeを配置することで宣言されます。 連想配列の簡単な例を以下に示します。
上記のコードをコンパイルして実行すると、次の結果が生成されます-
連想配列の初期化
連想配列の簡単な初期化を以下に示します。
上記のコードをコンパイルして実行すると、次の結果が生成されます-
連想配列のプロパティ
連想配列のプロパティは次のとおりです-
Sr.No. | Property & Description |
---|---|
1 |
.sizeof 連想配列への参照のサイズを返します。 32ビットビルドでは4、64ビットビルドでは8です。 |
2 |
.length 連想配列内の値の数を返します。 動的配列とは異なり、読み取り専用です。 |
3 |
.dup 同じサイズの新しい連想配列を作成し、連想配列の内容をそこにコピーします。 |
4 |
.keys 要素が連想配列のキーである動的配列を返します。 |
5 |
.values 要素が連想配列の値である動的配列を返します。 |
6 |
.rehash ルックアップがより効率的になるように、連想配列を適切に再編成します。 rehashは、たとえば、プログラムがシンボルテーブルのロードを完了し、その中に高速なルックアップを必要とする場合に効果的です。 再編成された配列への参照を返します。 |
7 |
.byKey() 連想配列のキーを反復処理するForeachStatementへのAggregateとしての使用に適したデリゲートを返します。 |
8 |
.byValue() 連想配列の値を反復処理するForeachStatementへのAggregateとしての使用に適したデリゲートを返します。 |
9 |
.get(Key key, lazy Value defVal) キーを検索します。存在する場合は対応する値を返し、そうでない場合はdefValを評価して返します。 |
10 |
.remove(Key key) キーのオブジェクトを削除します。 |
例
上記のプロパティの使用例を以下に示します。
上記のコードをコンパイルして実行すると、次の結果が生成されます-