Класс scala.collection.parallel.mutable.ParHashTable
Трейт ParHashTable[K, Entry >: Null <: HashEntry[K, Entry]] extends HashTable[K, Entry]
Типовые члены
абстрактный класс EntryIterator[T, +IterRepr <: IterableSplitter[T]] extends IterableSplitter[T] with SizeMapUtils
Абстрактные члены-значения
абстрактный def createNewEntry[B](key: K, value: B): Entry
Создаёт новую запись для немедленного вставки в хеш-таблицу. Этот метод гарантированно вызывается только один раз, и в случае, если запись будет добавлена. Другими словами, реализация может иметь побочные эффекты.
- Атрибуты
- protected
- Определяющие классы
- HashTable
Члены конкретных значений
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
trueесли !(this == that), иначе false.
- Определяющие классы
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращается значение хэша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернет одинаковое значение хэша для каждого из них. Для null возвращает код хэша, где null.hashCode генерирует NullPointerException.
- возвращает
значение хэша, согласованное с ==
- Определяющие классы
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из ParHashTable[K, Entry] в any2stringadd[ParHashTable[K, Entry]], выполненное методом any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ->[B](y: B): (ParHashTable[K, Entry], B)
- Неявный
- Этот член добавлен неявным преобразованием из ParHashTable[K, Entry] в ArrowAssoc[ParHashTable[K, Entry]], выполненное методом ArrowAssoc в scala.Predef.
- Определяющие классы
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- AnyRef → Any
val _loadFactor: Int
def addEntry(e: Entry): Unit
Добавление записи в таблицу: предусловие - нет записи с таким же ключом
- Атрибуты
- protected
- Определяющие классы
- HashTable
- Аннотации
- @deprecatedOverriding( message = ... , since = "2.11.0" )
def alwaysInitSizeMap: Boolean
- Определяющие классы
- ParHashTable → HashTable
final def asInstanceOf[T0]: T0
Приведение объекта-получателя к типу T0.
Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания Scala. Следовательно, выражение 1.asInstanceOf[String] бросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не будет. В последнем примере, так как тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка запрошенному типу.
- возвращает
объект-получатель.
- Определяющие классы
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стирания типаT0.
def calcSizeMapSize(tableLength: Int): Int
- Атрибуты
- protected
- Определяющие классы
- HashTable
- Аннотации
- @deprecatedOverriding( message = ... , since = "2.11.0" )
def clearTable(): Unit
Удалить все записи из таблицы
- Атрибуты
- protected
- Классы определения
- HashTable
def clone(): AnyRef
Создать копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
- возвращает
копию объекта-получателя.
def elemEquals(key1: K, key2: K): Boolean
- Атрибуты
- protected
- Классы определения
- HashTable
def elemHashCode(key: K): Int
- Атрибуты
- protected
- Классы определения
- HashUtils
def ensuring(cond: (ParHashTable[K, Entry]) ⇒ Boolean, msg: ⇒ Any): ParHashTable[K, Entry]
- Неявный
- Этот член добавлен неявным преобразованием из ParHashTable[K, Entry] в Ensuring[ParHashTable[K, Entry]], выполненным методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: (ParHashTable[K, Entry]) ⇒ Boolean): ParHashTable[K, Entry]
- Неявный
- Этот член добавлен неявным преобразованием из ParHashTable[K, Entry] в Ensuring[ParHashTable[K, Entry]], выполненным методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): ParHashTable[K, Entry]
- Неявный
- Этот член добавлен неявным преобразованием из ParHashTable[K, Entry] в Ensuring[ParHashTable[K, Entry]], выполненным методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean): ParHashTable[K, Entry]
- Неявный
- Этот член добавлен неявным преобразованием из ParHashTable[K, Entry] в Ensuring[ParHashTable[K, Entry]], выполненным методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
def entriesIterator: Iterator[Entry]
Итератор, возвращающий все записи.
- Атрибуты
- protected
- Классы определения
- HashTable
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он согласован: для любых не-null экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого не-null экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить, чтобы их поведение соответствовало равенству ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковое значение хэша (o1.hashCode == o2.hashCode).
- returns
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def equals(arg0: Any): Boolean
Метод равенства для ссылочных типов. По умолчанию делегирует вызов методу eq.
См. также equals в scala.Any.
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда к объекту больше нет ссылок.
Детали вызова метода finalize и взаимодействие между finalize и нелокальными возвратами и исключениями зависят от платформы.
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- Note
не указано SLS как член AnyRef
def findEntry(key: K): Entry
Находит запись с заданным ключом в таблице; null, если запись не найдена.
- Attributes
- protected
- Definition Classes
- HashTable
- Annotations
- @deprecatedOverriding( message = ... , since = "2.11.0" )
def findOrAddEntry[B](key: K, value: B): Entry
Находит запись с заданным ключом в таблице или добавляет новую, если она не найдена. Может быть несколько быстрее, чем пара findEntry/addEntry, так как вычисление индекса хэша записи выполняется только один раз. Возвращает запись, найденную в таблице, или null. Новые записи создаются с помощью метода createNewEntry.
- Attributes
- protected
- Definition Classes
- HashTable
def foreachEntry[U](f: (Entry) ⇒ U): Unit
Избегайте использования итератора для в 2 раза более быстрого обхода.
- Attributes
- protected
- Definition Classes
- HashTable
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой формата. Строки формата аналогичны String.format (@см. java.lang.String.format).
- Implicit
- Этот член добавлен неявным преобразованием из ParHashTable[K, Entry] в StringFormat[ParHashTable[K, Entry]] с помощью метода StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу объекта во время выполнения.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- returns
значение хэша для этого объекта.
final def improve(hcode: Int, seed: Int): Int
Обратитесь к качественной хеш-функции в scala.util.hashing. Цель – распределение по ячейкам максимально равномерно, даже если хеш-код имеет низкую энтропию по некоторым битам.
СТАРАЯ ВЕРСИЯ – быстрая, но плохая для последовательностей 0-10000 – низкая энтропия в старших битах – с 2003 года
var h: Int = hcode + ~(hcode << 9) h = h ^ (h >>> 14) h = h + (h << 4) h ^ (h >>> 10)
остальная часть вычислений связана с scala/bug#5293
- Атрибуты
- protected
- Классы-определения
- HashUtils
final def index(hcode: Int): Int
Примечание: мы используем старшие биты хеш-кода, а не младшие. Это имеет решающее значение при параллельном заполнении таблицы.
- Атрибуты
- protected
- Классы-определения
- HashTable
def initWithContents(c: Contents[K, Entry]): Unit
- Атрибуты
- protected
- Классы-определения
- HashTable
def initialSize: Int
Начальный размер хеш-таблицы.
- Атрибуты
- protected
- Классы-определения
- HashTable
final def isInstanceOf[T0]: Boolean
Проверка, является ли динамический тип объекта получателя T0.
Обратите внимание, что результат проверки зависит от стирания типов Scala. Следовательно, выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере из-за стирания типа во время компиляции невозможно проверить, соответствуют ли содержимое списка указанному типу.
- возвращает
trueесли объект получателя является экземпляром стираемого типаT0;falseв противном случае.
- Классы-определения
- Any
def isSizeMapDefined: Boolean
- Атрибуты
- protected
- Классы-определения
- HashTable
- Аннотации
- @deprecatedOverriding( сообщение = ... , с момента = "2.11.0" )
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- возвращает
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Классы-определения
- AnyRef
def nnSizeMapAdd(h: Int): Unit
- Атрибуты
- protected
- Классы-определения
- HashTable
- Аннотации
- @deprecatedOverriding( сообщение = ... , с момента = "2.11.0" )
def nnSizeMapRemove(h: Int): Unit
- Атрибуты
- protected
- Классы-определения
- HashTable
- Аннотации
- @deprecatedOverriding( сообщение = ... , с момента = "2.11.0" )
def nnSizeMapReset(tableLength: Int): Unit
- Атрибуты
- protected
- Классы-определения
- HashTable
- Аннотации
- @deprecatedOverriding( сообщение = ... , с момента = "2.11.0" )
final def notify(): Unit
Разбудит единственную нить, ожидающую монитора объекта получателя.
- Классы-определения
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как члена AnyRef
final def notifyAll(): Unit
Разбудит все нити, ожидающие монитора объекта получателя.
- Классы-определения
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как члена AnyRef
def removeEntry(key: K): Entry
Удаляет запись из таблицы, если она присутствует.
- Атрибуты
- protected
- Классы-определения
- HashTable
- Аннотации
- @deprecatedOverriding( сообщение = ... , с момента = "2.11.0" )
val seedvalue: Int
final def sizeMapBucketBitSize: Int
- Атрибуты
- protected
- Классы-определения
- HashUtils
final def sizeMapBucketSize: Int
- Атрибуты
- protected
- Классы-определения
- HashUtils
def sizeMapDisable(): Unit
- Атрибуты
- protected
- Классы-определения
- HashTable
- Аннотации
- @deprecatedOverriding( message = ... , since = "2.11.0" )
def sizeMapInit(tableLength: Int): Unit
- Атрибуты
- protected
- Классы-определения
- HashTable
def sizeMapInitAndRebuild(): Unit
- Атрибуты
- protected
- Классы-определения
- HashTable
- Аннотации
- @deprecatedOverriding( message = ... , since = "2.11.0" )
val sizemap: Array[Int]
Массив, отслеживающий количество элементов в блоках по 32 элемента.
final def synchronized[T0](arg0: ⇒ T0): T0
- Классы-определения
- AnyRef
val table: Array[HashEntry[K, Entry]]
val tableSize: Int
Количество сопоставлений в этой хеш-таблице.
def tableSizeSeed: Int
- Атрибуты
- protected
- Классы-определения
- HashTable
val threshold: Int
Следующее значение размера, при котором происходит изменение размера (емкость * коэффициент загрузки).
def toParArray: ParArray[T]
- Неявное
- Этот член добавлен неявным преобразованием из ParHashTable[K, Entry] в CollectionsHaveToParArray[ParHashTable[K, Entry], T] с помощью метода CollectionsHaveToParArray в scala.collection.parallel. Это преобразование выполнится только в том случае, если в области видимости находится неявное значение типа (ParHashTable[K, Entry]) ⇒ GenTraversableOnce[T].
- Классы-определения
- CollectionsHaveToParArray
def toString(): String
Создает строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- Возвращает
строковое представление объекта.
- Классы-определения
- AnyRef → Any
final def wait(): Unit
- Определяющие классы
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Определяющие классы
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long): Unit
def →[B](y: B): (ParHashTable[K, Entry], B)
- Неявный
- Этот член добавлен неявным преобразованием из ParHashTable[K, Entry] в ArrowAssoc[ParHashTable[K, Entry]], выполненное методом ArrowAssoc в scala.Predef.
- Определяющие классы
- ArrowAssoc
© 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/collection/parallel/mutable/ParHashTable.html
Предоставляет функциональность для хеш-таблиц с ведрами связанных списков, обогащая структуру данных, выполняя определённые требования для их параллельного построения и итерации.