Пакет scala.util.hashing
пакет hashing
- Источник
- package.scala
- Линейные супертипы
- AnyRef, Any
Члены типов
final класс ByteswapHashing[T] extends Hashing[T]
тракт Hashing[T] extends Serializable
Hashing — это тракт, экземпляры которого представляют стратегию хеширования экземпляров типа.
Hashing его компаньон-объект определяет стратегию хеширования по умолчанию для всех объектов — он вызывает их метод ##.
Примечание: при использовании настраиваемого Hashing, убедитесь, что вы используете его с Equiv, так что если два объекта равны, то их значения хеша должны быть равны.
- Аннотации
- @implicitNotFound("Нет неявного хеширования, определенного для ${T}.")
- С тех пор
2.10
Значения членов
def byteswap32(v: Int): Int
def byteswap64(v: Long): Long
объект ByteswapHashing extends java.io.Serializable
объект Hashing extends java.io.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.13.0/scala/util/hashing/index.html