dictionary
説明
"ディクショナリ" を使用して、キーに関連付けられた値を効率的に検索できます。ディクショナリは、データを "値" として格納するマップで、この値には対応する一意の "キー" を使用してアクセスできます。キーと値の各ペアは "エントリ" です。
作成
説明
は、指定されたキーと値を含むディクショナリを作成します。結果のディクショナリ d = dictionary(keys,values)d は、1 行 1 列のスカラー オブジェクトになります。複数の値が同じキーに割り当てられている場合は、これらのうち最後の値のみが割り当てられます。既存のキーに新しく割り当てると、そのエントリの値が上書きされます。
keys と values はいずれの型にもできますが、values がスカラーでない場合は同じサイズでなければなりません。スカラーの場合は、keys の各要素が values のキーになります。キーと値が配列の場合、エントリの数はキーと値のペアの数と同じです。
ディクショナリでは、キーと値の型が強制的に揃えられます。ディクショナリ内のすべてのキーとすべての値がそれぞれのデータ型を共有するか、設定されたデータ型に変換できる必要があります。新しいエントリの一部が設定されたデータ型を共有していない場合、MATLAB® は変換を試みます。キーと値を同じデータ型にする必要はありません。文字行ベクトルは、キーまたは値として代入されると、string スカラーに変換されます。
混在したキーまたは値の型を格納するには cell 配列を使用します。cell を値として使用するディクショナリで検索を実行すると、cell 配列が返されます。小かっこではなく中かっこ ({}) を使用することで、cell 配列の内容に直接アクセスできます。 (R2023a 以降)
は、指定されたキーと値のペアを含むディクショナリを作成します。同じキーのインスタンスが複数指定されている場合は、最後のキーと値のペアのみが割り当てられます。d = dictionary(k1,v1,...,kN,vN)
入力引数
出力引数
使用法
説明
dictionary を使用して、ディクショナリ d を作成します。その後、次の構文のいずれかを使用して、特定のクエリ点で d を評価または変更できます。
valueOut = d(keys) は、keys に対応する値を検索します。
d(keys) = newValues は、newValues の要素を、keys の対応する値で指定されたエントリに代入します。指定したキーがディクショナリに存在しない場合は、新しいエントリが追加されます。複数の値が同じキーに割り当てられている場合は、これらのうち最後の値のみが割り当てられます。既存のキーに新しく割り当てると、そのエントリの値が上書きされます。
d(keys) = [] は、keys に関連付けられているエントリをディクショナリから削除します。
valueOut = d{keys} は、keys に関連付けられている値を検索し、cell の内容を返します。keys が配列の場合は、対応する値のコンマ区切りリストが返されます。ディクショナリの値が cell 以外のデータ型に構成されている場合、エラーがスローされます。
d{keys} = newValues は、newValues の要素が含まれている cell を、keys の対応する値で指定されたエントリに代入します。ディクショナリの値が cell 以外のデータ型に構成されている場合、エラーがスローされます。
オブジェクト関数
configureDictionary | 指定されたキーの型と値の型を含むディクショナリを作成する |
insert | ディクショナリへのエントリの追加 |
lookup | Find value in dictionary by key |
remove | ディクショナリのエントリの削除 |
entries | ディクショナリのキーと値のペア |
keys | ディクショナリのキー |
values | ディクショナリの値 |
types | ディクショナリのキーと値の型 |
numEntries | ディクショナリ内のキーと値のペアの数 |
isConfigured | Determine if dictionary has types assigned to keys and values |
isKey | ディクショナリがキーを含むかどうかを判別 |
例
ヒント
カスタム クラスはキーと値のどちらとしても使用できます。インデックス付けやサイズのクエリがオーバーロードしているクラス、および標準的な配列の動作と異なるクラスは、想定どおりに動作しないことがあります。詳細については、ディクショナリとカスタム クラスを参照してください。
拡張機能
バージョン履歴
R2022b で導入参考
configureDictionary | insert | lookup | remove | entries | keys | values | types | numEntries | isConfigured | isKey | keyHash | keyMatch