Spec-Zone.ru › Scala 2.12 Library

Класс scala.collection.parallel.mutable.ParHashTable

Трейт ParHashTable[K, Entry >: Null <: HashEntry[K, Entry]] extends HashTable[K, Entry]

Предоставляет функциональность для хеш-таблиц с ведрами связанных списков, обогащая структуру данных, выполняя определённые требования для их параллельного построения и итерации.

Источник
ParHashTable.scala
Линейные супертипы
Известные подклассы

Типовые члены

абстрактный класс 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

Атрибуты
protected
Определяющие классы
HashTable
Аннотации
@transient()

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 зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[lang]
Классы определения
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

не указано SLS как член AnyRef

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

объект класса, соответствующий типу объекта во время выполнения.

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

returns

значение хэша для этого объекта.

Definition Classes
AnyRef → Any
Annotations
@native()

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

Атрибуты
protected
Классы-определения
HashTable
Аннотации
@transient()

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 элемента.

Атрибуты
protected
Классы-определения
HashTable
Аннотации
@transient()

final def synchronized[T0](arg0: ⇒ T0): T0

Классы-определения
AnyRef

val table: Array[HashEntry[K, Entry]]

Фактическая хеш-таблица.

Атрибуты
protected
Классы-определения
HashTable
Аннотации
@transient()

val tableSize: Int

Количество сопоставлений в этой хеш-таблице.

Атрибуты
protected
Классы-определения
HashTable
Аннотации
@transient()

def tableSizeSeed: Int

Атрибуты
protected
Классы-определения
HashTable

val threshold: Int

Следующее значение размера, при котором происходит изменение размера (емкость * коэффициент загрузки).

Атрибуты
protected
Классы-определения
HashTable
Аннотации
@transient()

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

Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API