"OrderedHashTable" (データ構造)
"OrderedHashTable"
キーと値が一般式であり,キーを挿入する順序が保存されるハッシュテーブルを表す.
詳細
- 順序付きのハッシュテーブルは,挿入の順序を保存することが重要である場合に,キーの使用によって取り出すことができる個々の値を保存するのに役立つ.
-
CreateDataStructure["OrderedHashTable"] 新しい空の"OrderedHashTable"を作成する CreateDataStructure["OrderedHashTable",assoc] assoc からの規則を含む新しい"OrderedHashTable"を作成する Typed[x,"OrderedHashTable"] x に"OrderedHashTable"を与える - "OrderedHashTable"型のデータ構造には,以下の演算が使える.
-
ds["Copy"] ds のコピーを返す time: O(n) ds["Elements"] ds の要素のリストを返す time: O(n) ds["EmptyQ"] ds が要素を持たない場合はTrue time: O(1) ds["Insert",keyvalue] 関連付けられた value とともに key を ds に加え,追加が成功した場合にはTrueを返す time: O(1) ds["KeyDrop",key] key とその値を ds から省く time: O(1) ds["KeyDropAll"] すべてのキーとその値を ds から省く time: O(n) ds["KeyExistsQ",key] key が ds 内にある場合はTrue time: O(1) ds["Keys"] ds のキーをリストとして返す time: O(n) ds["Length"] ds に保存されるキーと値のペアの数 time: O(1) ds["Lookup",key] ds 内に key と一緒に保存された値を返す.キーが見付からない場合はMissing オブジェクトを返す time: O(1) ds["Lookup",key,defFun] ds 内に key と一緒に保存された値を返す.キーが見付からない場合は defFun[key]を返す time: O(1) ds["Values"] ds の値をリストとして返す time: O(n) ds["Visualization"] ds の可視化を返す time: O(n) - 以下の関数もサポートする.
-
dsi===dsj dsi が dsj に等しい場合はTrue FullForm[ds] ds の完全形 Information[ds] ds についての情報 InputForm[ds] ds の入力形 Normal[ds] ds を通常の式に変換する
例題
すべて開く すべて閉じる例 (2)
新しい"OrderedHashTable"は,CreateDataStructureを使って作成できる:
ds = CreateDataStructure["OrderedHashTable"]ds["Insert", f[1] -> g[2]]ds["Length"]ds["KeyExistsQ", f[1]]ds["Lookup", f[1]]キーが見付からない場合には,Missingオブジェクトが返される:
ds["Lookup", f[2]]Normal[ds]ds = CreateDataStructure["OrderedHashTable"];
Do[ds["Insert", i -> OddQ[i]], {i, 30}]
ds["Visualization", MaxItems -> 9]ds["Keys"]スコープ (1)
情報 (1)
新しい"OrderedHashTable"は,CreateDataStructureを使って作成することができる:
ds = CreateDataStructure["OrderedHashTable"]Information[ds]履歴
2020 で導入 (12.1)