Пакет scala.util.hashing
пакет hashing
- Источник
- package.scala
Типовые члены
final класс ByteswapHashing[T] extends Hashing[T]
тракт Hashing[T] extends Serializable
Hashing — это тракт, чьи экземпляры представляют каждую стратегию хеширования экземпляров типа.
Компаньон-объект Hashing\x определяет стратегию по умолчанию для хеширования всех объектов — он вызывает их метод ##.
Примечание: при использовании пользовательской Hashing, убедитесь, что вы используете её с Equiv, таким образом, если любые два объекта равны, то их хэш-коды должны быть равны.
- Аннотации
- @implicitNotFound( msg = ... )
- С
2.10
Значения членов
def byteswap32(v: Int): Int
def byteswap64(v: Long): Long
объект ByteswapHashing extends Serializable
объект Hashing extends Serializable
объект MurmurHash3 extends MurmurHash3
Реализация алгоритма MurmurHash 3 от Остина Эпплби (MurmurHash3_x86_32). Этот объект содержит методы, которые хешируют значения различных типов, а также средства для построения Hashing объектов.
Этот алгоритм разработан для генерации хорошо распределённых некриптографических хэшей. Он разработан для хеширования данных в 32-битных блоках (int).
Метод mix необходимо вызывать на каждой итерации для обновления промежуточного значения хэша. Для последнего блока для включения в хэш-смесь может быть использован mixLast, что немного быстрее. Наконец, для вычисления конечного значения хэша необходимо вызвать finalizeHash.
Это основано на более раннем коде MurmurHash3 от Рекса Керра, но алгоритм MurmurHash3 с тех пор был изменён его создателем Остином Эпплби для устранения некоторых слабых мест и повышения производительности. Это представляет собой последнюю и, предположительно, окончательную версию алгоритма (ревизия 136).
- См. также
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/util/hashing/index.html