Setコレクション - Hashイベント
コレクション編成のために整数値が決定された時に起動
パラメータ
名前 | タイプ | データタイプ | 記述 |
|---|---|---|---|
Subject | *Input | 現在ハッシュされているオブジェクトへの参照 | |
Hash | *Both | 整数 | ハッシュの値 |
詳細
コレクションを整理するためにコレクションに整数値が必要な場合は常に、 Hash イベントが発生します。
ハッシュ値は、常にコンポーネントを識別するハッシュを得るためにコレクションに使用されます。ハッシュを使用すると、同じハッシュを持つコレクション内のコンポーネントだけが等価であるかどうかがチェックされます。デフォルトのハッシュはコンポーネントへのポインターです。
名前や識別子などの値に基づいて辞書を検索できるようにする場合があります。これらの種類のハッシュを取得するには、Hashイベント中に CalculateHashメソッドを使用して、ハッシュする値を指定します。
ハッシュイベントは、順序付けられていないコレクション ( Set および Dictionary ) によってのみ使用されることに注意してください。コレクション内に多数の項目が存在する可能性がある場合、ルックアップをすばやく実行できる必要があります。
他のコレクションは、アイテムをソートする手段として Compare イベントを使用してルックアップを行います。
順序付けられたコレクションは、コレクションを検索して一致するものを探すことによってルックアップを行います。これらのコレクションは、 IsEqual イベントを使用し、 List と Array コレクション・クラスを含みます。
例
CalculateHash メソッドの使用Hash イベントは、コレクションがハッシュを評価する必要があるときはいつでも起動されます。
Evtroutine Handling(#Collection.Hash) Subject(#Subject) Hash(#Hash)
#Hash := #Collection.CalculateHash(#Subject)
Endroutine