Structure

Hasher

The universal hash function used by Set and Dictionary. SetDictionaryによって使われる普遍的なハッシュ関数。

Declaration 宣言

@frozen struct Hasher

Overview 概要

Hasher can be used to map an arbitrary sequence of bytes to an integer hash value. You can feed data to the hasher using a series of calls to mutating combine methods. When you’ve finished feeding the hasher, the hash value can be retrieved by calling finalize(): Hasherは、随意のバイト列を整数ハッシュ値へとマップするのに使われます。あなたは、データをハーシャーに送り込むのに、一連の変更combineメソッド呼び出しを使います。あなたがハーシャーに入力を完了する時、ハッシュ値はfinalize()を呼び出すことで取り出せます:


var hasher = Hasher()
hasher.combine(23)
hasher.combine("Hello")
let hashValue = hasher.finalize()

Within the execution of a Swift program, Hasher guarantees that finalizing it will always produce the same hash value as long as it is fed the exact same sequence of bytes. However, the underlying hash algorithm is designed to exhibit avalanche effects: slight changes to the seed or the input byte sequence will typically produce drastic changes in the generated hash value. あるSwiftプログラムの実行の範囲内で、Hasherは、それをファイナライズすることは常に同じハッシュ値を生成することを、それが正確に同じバイト列を供給される限り保証します。しかしながら、基礎をなすハッシュアルゴリズムは、雪崩効果を示すように設計されます:そのシードまたは入力バイト列に対するわずかな変更は、概して生成されたハッシュ値に徹底的な変化を生じさせます。

Topics 話題

Creating a Hasher ハーシャーを作成する

Adding Values 値を加える

Finalizing a Hasher ハーシャーをファイナライズする

See Also 参照

Sets and Dictionaries 集合と辞書