Spec-Zone.ru › Scala 3.1

Класс scala.collection.mutable.CollisionProofHashMap

Объект-компаньон • Исходный код

final class CollisionProofHashMap[K, V](initialCapacity: Int, loadFactor: Double)(implicit ordering: Ordering[K]) extends AbstractMap[K, V] with MapOps[K, V, Map, CollisionProofHashMap[K, V]] with StrictOptimizedIterableOps[(K, V), Iterable, CollisionProofHashMap[K, V]] with StrictOptimizedMapOps[K, V, Map, CollisionProofHashMap[K, V]]

Этот класс реализует изменяемые карты, используя хеш-таблицу с красно-черными деревьями в ведрах для обеспечения хорошей производительности в худшем случае при столкновениях хешей. Для типа элемента требуется Ordering. Равенство, определяемое по Ordering, должно быть согласованным с equals и hashCode. Универсальное равенство числовых типов не поддерживается (аналогично AnyRefMap).

См. также

"Обзор библиотеки коллекций Scala" раздел о Hash Tables для получения дополнительной информации.

Наследуемые типы
28 типов
Тракт StrictOptimizedMapOps[K, V, Map, CollisionProofHashMap[K, V]]
Тракт StrictOptimizedIterableOps[(K, V), Iterable, CollisionProofHashMap[K, V]]
Класс AbstractMap[K, V]
Тракт Map[K, V]
Тракт MapOps[K, V, Map, CollisionProofHashMap[K, V]]
Тракт Shrinkable[K]
Тракт Builder[(K, V), CollisionProofHashMap[K, V]]
Тракт Growable[(K, V)]
Тракт Clearable
Тракт Cloneable[CollisionProofHashMap[K, V]]
Тракт Cloneable
Тракт Iterable[(K, V)]
Класс AbstractMap[K, V]
Тракт Map[K, V]
Тракт Equals
Тракт MapFactoryDefaults[K, V, Map, Iterable]
Тракт MapOps[K, V, Map, CollisionProofHashMap[K, V]]
Тракт PartialFunction[K, V]
Тракт K => V
Класс AbstractIterable[(K, V)]
Тракт Iterable[(K, V)]
Тракт IterableFactoryDefaults[(K, V), Iterable]
Тракт IterableOps[(K, V), Iterable, CollisionProofHashMap[K, V]]
Тракт IterableOnceOps[(K, V), Iterable, CollisionProofHashMap[K, V]]
Тракт IterableOnce[(K, V)]
Класс Object
Тракт Matchable
Класс Any

Конструкторы

Исходный код
def this()(implicit ordering: Ordering[K])

Конкретные методы

Исходный код@inline
final override def ++[V2 >: V](xs: IterableOnce[(K, V2)]): CollisionProofHashMap[K, V2]

Псевдоним для concat

Классы определений MapOps

Исходный код
override def addAll(xs: IterableOnce[(K, V)]): CollisionProofHashMap[K, V]

Классы определений Growable

Исходный код
def addOne(elem: (K, V)): CollisionProofHashMap[K, V]

Исходный код@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
override def apply(key: K): V

Классы определений MapOps -> Function1

Исходный код
override def clear(): Unit

Классы определений MapOps -> Builder -> Clearable

Исходный код
def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)])(implicit @implicitNotFound ordering: Ordering[K2]): CollisionProofHashMap[K2, V2]

Создает новую отсортированную карту, применяя частичную функцию ко всем элементам этой изменяемой карты с проверкой на столкновения, для которых функция определена.

Параметры значения
pf

частичная функция, которая фильтрует и отображает изменяемую карту с проверкой на столкновения.

Возвращает

новую изменяемую карту с проверкой на столкновения, полученную путем применения заданной частичной функции pf к каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.

Исходный код
override def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): CollisionProofHashMap[K, V2]

Классы определений StrictOptimizedMapOps -> MapOps

Исходный код
override def contains(key: K): Boolean

Классы определений MapOps

Исходный код
override def empty: CollisionProofHashMap[K, V]

Классы определений MapFactoryDefaults -> IterableFactoryDefaults -> IterableOps

Исходный код
def flatMap[K2, V2](f: (K, V) => IterableOnce[(K2, V2)])(implicit @implicitNotFound ordering: Ordering[K2]): CollisionProofHashMap[K2, V2]

Создает новую CollisionProofHashMap, применяя функцию ко всем элементам этой изменяемой карты с проверкой на столкновения и используя элементы полученных коллекций.

Параметры значения
f

функция, применяемая к каждому элементу.

Возвращает

новую изменяемую карту с проверкой на столкновения, полученную путем применения заданной функции, возвращающей коллекцию, f к каждому элементу этой изменяемой карты с проверкой на столкновения и конкатенации результатов.

END_OF_DOCUMENT_MARKER

Source
override def foreach[U](f: (K, V) => U): Unit

Definition Classes IterableOnceOps

Source
override def foreachEntry[U](f: (K, V) => U): Unit

Definition Classes MapOps

Source
def fromNodes(xs: Iterator[Node], size: Int): RBNode[K, V]

Source
def get(key: K): Option[V]

Source
override def getOrElse[V1 >: V](key: K, default: => V1): V1

Definition Classes MapOps

Source
override def getOrElseUpdate(key: K, defaultValue: => V): V

Definition Classes MapOps

Source
override def isEmpty: Boolean

Definition Classes IterableOnceOps

Source
override def iterator: Iterator[(K, V)]

Definition Classes IterableOnce

Source
override def keysIterator: Iterator[K]

Definition Classes MapOps

Source
override def knownSize: Int

Definition Classes MapOps -> Growable -> IterableOnce

Source
def map[K2, V2](f: (K, V) => (K2, V2))(implicit @implicitNotFound ordering: Ordering[K2]): CollisionProofHashMap[K2, V2]

Создаёт новую CollisionProofHashMap, применяя функцию ко всем элементам этой изменяемой хэш-карты без коллизий.

Value parameters
f

функция, которая применяется к каждому элементу.

Returns

новая изменяемая хэш-карта без коллизий, полученная путём применения заданной функции f к каждому элементу этой изменяемой хэш-карты без коллизий и сбора результатов.

Source
override def put(key: K, value: V): Option[V]

Definition Classes MapOps

Source
override def remove(key: K): Option[V]

Definition Classes MapOps

Source
override def size: Int

Definition Classes IterableOnceOps

Source
override def sizeHint(size: Int): Unit

Definition Classes Builder

Source
def subtractOne(elem: K): CollisionProofHashMap[K, V]

Source
override def update(key: K, value: V): Unit

Definition Classes MapOps

Inherited methods

Source@inline
final def ++[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

Псевдоним для concat

Inherited from IterableOps

Source@inline
final def ++=(xs: IterableOnce[(K, V)]): CollisionProofHashMap[K, V]

Псевдоним для addAll

Inherited from Growable

Source@inline
final def +=(elem: (K, V)): CollisionProofHashMap[K, V]

Псевдоним для addOne

Inherited from Growable

Source@inline
final def --=(xs: IterableOnce[K]): CollisionProofHashMap[K, V]

Псевдоним для subtractAll

Inherited from Shrinkable

Source@inline
final def -=(elem: K): CollisionProofHashMap[K, V]

Псевдоним для subtractOne

Inherited from Shrinkable

Source@inline
final def addString(b: StringBuilder): StringBuilder

Добавляет все элементы этой коллекции в строковый билдер. Записываемый текст состоит из строковых представлений (в соответствии с методом toString) всех элементов этой коллекции без разделительной строки.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> val h = a.addString(b)
h: StringBuilder = 1234
Параметры значения
b

строка-построитель, к которому добавляются элементы.

Возвращает

строка-построитель b, к которому были добавлены элементы.

Унаследовано от IterableOnceOps

Источник@inline
final def addString(b: StringBuilder, sep: String): StringBuilder

Добавляет все элементы этого набора в строку-построитель, используя разделительную строку. Записанный текст состоит из строковых представлений (согласно методу toString) всех элементов этого набора, разделенных строкой sep.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
Параметры значения
b

строка-построитель, к которому добавляются элементы.

sep

разделительная строка.

Возвращает

строка-построитель b, к которому были добавлены элементы.

Унаследовано от IterableOnceOps

Источник
override def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

Классы-определения MapOps -> IterableOnceOps
Унаследовано от MapOps

Источник
def andThen[C](k: PartialFunction[V, C]): PartialFunction[K, C]

Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.

Обратите внимание, что вызов isDefinedAt на результирующей частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется вместо isDefinedAt или apply использовать applyOrElse.

Параметры типа
C

тип результата функции преобразования.

Параметры значения
k

функция преобразования

Возвращает

частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы x в k(this(x)).

Унаследовано от PartialFunction

Источник
override def andThen[C](k: V => C): PartialFunction[K, C]

Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.

Если тип функции времени выполнения является PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).

Параметры типа
C

тип результата функции преобразования.

Параметры значения
k

функция преобразования

Возвращает

частичная функция с областью определения этой частичной функции, возможно, суженной указанной функцией, которая отображает аргументы x в k(this(x)).

Классы-определения PartialFunction -> Function1
Унаследовано от PartialFunction

Источник
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1

Классы-определения MapOps -> PartialFunction
Унаследовано от MapOps

Источник
def canEqual(that: Any): Boolean

Унаследовано от Map

Источник
override def clone(): CollisionProofHashMap[K, V]

Классы-определения MapOps -> Cloneable -> Object
Унаследовано от MapOps

Источник
override def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): Map[K2, V2]

Классы-определения StrictOptimizedMapOps -> MapOps
Унаследовано от StrictOptimizedMapOps

Источник
override def collect[B](pf: PartialFunction[(K, V), B]): Iterable[B]

Классы-определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
def collectFirst[B](pf: PartialFunction[(K, V), B]): Option[B]

Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.

Примечание: может не завершиться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры значения
pf

частичная функция

Возвращает

значение типа Option, содержащее результат применения pf к первому значению, для которого он определен, или None, если такового не существует.

Пример

Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

Унаследовано от IterableOnceOps

Источник
def compose[R](k: PartialFunction[R, K]): PartialFunction[R, V]

Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.

Обратите внимание, что вызов isDefinedAt на результирующей частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.

Параметры типа
R

тип параметра функции преобразования.

Параметры значения
k

функция преобразования

Возвращает

частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы x в this(k(x)).

Унаследовано от PartialFunction

Источник@unspecialized
def compose[A](g: A => K): A => V

Компонует два экземпляра Function1 в новый Function1, с применением этой функции в последнюю очередь.

Параметры типа
A

тип, к которому можно применить функцию g

Параметры значения
g

функция A => T1

Возвращает

новую функцию f, такая что f(x) == apply(g(x))

Унаследовано от Function1

Исходный код
def concat[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов итерируемой коллекции — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.

Параметры типа
B

тип элементов возвращаемой коллекции.

Параметры значения
suffix

итерируемый объект для добавления.

Возвращает

новая итерируемая коллекция, которая содержит все элементы этой итерируемой коллекции, за которыми следуют все элементы suffix.

Унаследовано от IterableOps

Исходный код
def copyToArray[B >: (K, V)](xs: Array[B], start: Int, len: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs, начиная с индекса start, не более чем len элементами этой коллекции.

Копирование прекратится, когда будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов.

Параметры типа
B

тип элементов массива.

Параметры значения
len

максимальное количество копируемых элементов.

start

начальный индекс xs.

xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Повторное использование: после вызова этого метода итератор, на котором он был вызван, следует отбросить. Его использование не определено и может измениться.

Унаследовано от IterableOnceOps

Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B], start: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs, начиная с индекса start, значениями этой коллекции.

Копирование прекратится, когда будут скопированы все элементы этой коллекции или будет достигнут конец массива.

Параметры типа
B

тип элементов массива.

Параметры значения
start

начальный индекс xs.

xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Повторное использование: после вызова этого метода итератор, на котором он был вызван, следует отбросить. Его использование не определено и может измениться.

Унаследовано от IterableOnceOps

Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B]): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs, начиная с индекса start, значениями этой коллекции.

Копирование прекратится, когда будут скопированы все элементы этой коллекции или будет достигнут конец массива.

Параметры типа
B

тип элементов массива.

Параметры значения
xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Повторное использование: после вызова этого метода итератор, на котором он был вызван, следует отбросить. Его использование не определено и может измениться.

Унаследовано от IterableOnceOps

Исходный код
def corresponds[B](that: IterableOnce[B])(p: ((K, V), B) => Boolean): Boolean

Проверяет, соответствует ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя условию предиката.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
B

тип элементов that

Параметры значения
p

предикат, который связывает элементы из обеих коллекций

that

другая коллекция

Возвращает

true, если обе коллекции имеют одинаковую длину, и p(x, y) является true для всех соответствующих элементов x этого итератора и y итератора that, в противном случае false

Унаследовано от IterableOnceOps

Исходный код
def count(p: (K, V) => Boolean): Int

Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.

Примечание: не завершится для коллекций бесконечного размера.

Параметры значения
p

предикат для проверки элементов.

Возвращает

количество элементов, удовлетворяющих предикату p.

Унаследовано от IterableOnceOps

Исходный код@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: K): V

Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованная здесь функция выбрасывает исключение, но может быть переопределена в подклассах.

Параметры значения
key

заданное значение ключа, для которого отсутствует привязка.

Унаследовано от MapOps

Исходный код
def drop(n: Int): CollisionProofHashMap[K, V]

Унаследовано от IterableOps

Исходный код
override def dropRight(n: Int): CollisionProofHashMap[K, V]

Остальная часть коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно предотвращать создание копии.

Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.

Классы-предки StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Исходный код
def dropWhile(p: (K, V) => Boolean): CollisionProofHashMap[K, V]

Унаследовано от IterableOps

Source
def elementWise: ElementWiseExtractor[K, V]

Возвращает объект-экстрактор с методом unapplySeq, который извлекает каждый элемент данных последовательности.

Пример
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
  case firstChar.unlift.elementWise(c0, c1, c2) =>
    println(s"$c0, $c1, $c2") // Output: f, b, b
}
Унаследовано от PartialFunction

Source
override def equals(o: Any): Boolean

Равенство карт реализуется с помощью метода поиска get. Этот метод возвращает true, если

  • аргумент o является Map,

  • две карты имеют одинаковый размер size, и

  • для каждой (key, value) пары в этой карте, other.get(key) == Some(value).

Реализация equals проверяет метод canEqual, поэтому подклассы Map могут сузить равенство до конкретных типов карт. Реализации Map в стандартной библиотеке могут сравниваться, их методы canEqual возвращают true.

Примечание: метод equals соблюдает законы равенства (симметричность, транзитивность) только в том случае, если две карты используют ту же функцию эквивалентности ключей в своей операции поиска. Например, операция эквивалентности ключей в scala.collection.immutable.TreeMap определяется его упорядочением. Сравнение TreeMap с HashMap приводит к непредсказуемым результатам, если ordering.equiv(k1, k2) (используемая для поиска в TreeMap) отличается от k1 == k2 (используемая для поиска в HashMap).

scala> import scala.collection.immutable._
scala> val ord: Ordering[String] = _ compareToIgnoreCase _

scala> TreeMap("A" -> 1)(ord) == HashMap("a" -> 1)
val res0: Boolean = false

scala> HashMap("a" -> 1) == TreeMap("A" -> 1)(ord)
val res1: Boolean = true
Параметры значения
o

Карта, с которой сравнивается эта карта

Возвращает

true, если две карты равны в соответствии с описанием

Классы определения Map -> Equals -> Any
Унаследовано от Map

Source
def exists(p: (K, V) => Boolean): Boolean

Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.

Примечание: может не завершиться для коллекций бесконечного размера.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

true, если заданный предикат p удовлетворяется хотя бы одним элементом этой коллекции, в противном случае false

Унаследовано от IterableOnceOps

Source
override def filter(pred: (K, V) => Boolean): CollisionProofHashMap[K, V]

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Source
def filterInPlace(p: (K, V) => Boolean): CollisionProofHashMap[K, V]

Оставляет только те отображения, для которых предикат p возвращает true.

Параметры значения
p

Предикат проверки

Унаследовано от MapOps

Source
override def filterNot(pred: (K, V) => Boolean): CollisionProofHashMap[K, V]

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Source
def find(p: (K, V) => Boolean): Option[(K, V)]

Находит первый элемент коллекции, удовлетворяющий предикату, если таковой имеется.

Примечание: может не завершиться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

значение Option, содержащее первый элемент в коллекции, удовлетворяющий p, или None, если таковой не существует.

Унаследовано от IterableOnceOps

Source
override def flatMap[K2, V2](f: (K, V) => IterableOnce[(K2, V2)]): Map[K2, V2]

Классы определения StrictOptimizedMapOps -> MapOps
Унаследовано от StrictOptimizedMapOps

Source
override def flatMap[B](f: (K, V) => IterableOnce[B]): Iterable[B]

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Source
override def flatten[B](implicit toIterableOnce: (K, V) => IterableOnce[B]): Iterable[B]

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Source
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1

Складывает элементы этой коллекции с использованием указанного ассоциативного бинарного оператора. По умолчанию в IterableOnce эквивалентно foldLeft, но может быть переопределено для более эффективных порядков обхода.

Порядок выполнения операций над элементами не определен и может быть не детерминированным.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
A1

параметр типа для бинарного оператора, супертип A.

Параметры значения
op

бинарный оператор, который должен быть ассоциативным.

z

нейтральный элемент для операции складывания; может быть добавлен к результату произвольное число раз, и не должен изменять результат (например, Nil для конкатенации списков, 0 для сложения или 1 для умножения).

Возвращает

результат применения оператора складывания op между всеми элементами и z, или z, если эта коллекция пуста.

Унаследовано от IterableOnceOps

Source
def foldLeft[B](z: B)(op: (B, (K, V)) => B): B

Применяет бинарный оператор к начальному значению и всем элементам этой коллекции слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

z

начальное значение.

Возвращает

результат вставки op между последовательными элементами этой коллекции, слева направо с начальным значением z слева: op(...op(z, x1), x2, ..., xn), где x1, ..., xn — элементы этой коллекции. Возвращает z, если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def foldRight[B](z: B)(op: ((K, V), B) => B): B

Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, справа налево.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

z

начальное значение.

Возвращает

результат вставки op между последовательными элементами этой коллекции, справа налево с начальным значением z справа: op(x1, op(x2, ... op(xn, z)...)), где x1, ..., xn — элементы этой коллекции. Возвращает z, если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def forall(p: (K, V) => Boolean): Boolean

Проверяет, выполняется ли предикат для всех элементов этой коллекции.

Примечание: может не завершаться для коллекций бесконечного размера.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

true, если эта коллекция пуста или заданный предикат p выполняется для всех элементов этой коллекции, в противном случае false.

Унаследовано от IterableOnceOps

Источник
def groupBy[K](f: (K, V) => K): Map[K, CollisionProofHashMap[K, V]]

Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией-дискриминатором.

Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принуждать элементы.

Параметры типа
K

тип ключей, возвращаемых функцией-дискриминатором.

Параметры значения
f

функция-дискриминатор.

Возвращает

Карту из ключей к итерируемым коллекциям, такая что выполняется следующее инвариантное свойство:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть, каждый ключ k связан с итерируемой коллекцией тех элементов x, для которых f(x) равно k.

Унаследовано от IterableOps

Источник
def groupMap[K, B](key: (K, V) => K)(f: (K, V) => B): Map[K, Iterable[B]]

Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.

Это эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.

case class User(name: String, age: Int)

def namesByAge(users: Seq[User]): Map[Int, Seq[String]] =
  users.groupMap(_.age)(_.name)

Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принуждать элементы.

Параметры типа
B

тип значений, возвращаемых функцией преобразования

K

тип ключей, возвращаемых функцией-дискриминатором

Параметры значения
f

функция преобразования элемента

key

функция-дискриминатор

Унаследовано от IterableOps

Источник
def groupMapReduce[K, B](key: (K, V) => K)(f: (K, V) => B)(reduce: (B, B) => B): Map[K, B]

Разделяет эту итерируемую коллекцию на карту в соответствии с функцией-дискриминатором key. Все значения, у которых одинаковый дискриминатор, затем преобразуются функцией f и затем сводятся к одному значению с помощью функции reduce.

Это эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.

def occurrences[A](as: Seq[A]): Map[A, Int] =
  as.groupMapReduce(identity)(_ => 1)(_ + _)

Примечание: Даже при применении к представлению или ленивому набору он всегда будет принудительно создавать элементы.

Унаследовано от IterableOps

Источник
def grouped(size: Int): Iterator[CollisionProofHashMap[K, V]]

Разделяет элементы на итерируемые наборы фиксированного размера.

Параметры значения
size

количество элементов в группе

Возвращает

Итератор, генерирующий итерируемые наборы размера size, за исключением последнего, который будет меньше размера size, если элементы не делятся на размер группы без остатка.

См. также

scala.collection.Iterator, метод grouped

Унаследовано от IterableOps

Источник
override def hashCode(): Int

Классы определения Map -> Any
Унаследовано от Map

Источник
def head: (K, V)

Выбирает первый элемент этого итерируемого набора.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.

Возвращает

первый элемент этого итерируемого набора.

Исключения
NoSuchElementException

если итерируемый набор пустой.

Унаследовано от IterableOps

Источник
def headOption: Option[(K, V)]

Выбирает первый элемент необязательно.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.

Возвращает

первый элемент этого итерируемого набора, если он не пуст, None, если он пуст.

Унаследовано от IterableOps

Источник
def init: CollisionProofHashMap[K, V]

Первая часть набора без последнего элемента.

Примечание: Даже при применении к представлению или ленивому набору он всегда будет принудительно создавать элементы.

Унаследовано от IterableOps

Источник
def inits: Iterator[CollisionProofHashMap[K, V]]

Итерируется по начальным частям этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, промежуточные значения — результат последовательных применений init.

Примечание: Даже при применении к представлению или ленивому набору он всегда будет принудительно создавать элементы.

Возвращает

итератор по всем инициализациям этого итерируемого набора

Пример

List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)

Унаследовано от IterableOps

Источник
def isDefinedAt(key: K): Boolean

Проверяет, содержит ли эта карта привязку для ключа. Этот метод, реализующий абстрактный метод трейта PartialFunction, эквивалентен contains.

Параметры значения
key

ключ

Возвращает

true, если в этой карте есть привязка для key, false в противном случае.

Унаследовано от MapOps

Источник
override def isTraversableAgain: Boolean

Классы определения IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
override def iterableFactory: IterableFactory[Iterable]

Классы определения Iterable -> Iterable -> IterableOps
Унаследовано от Iterable

Источник
def keySet: Set[K]

Собирает все ключи этой карты в множестве.

Возвращает

множество, содержащее все ключи этой карты.

Унаследовано от MapOps

Источник
def keyStepper[S <: Stepper[_]](implicit shape: StepperShape[K, S]): S

Возвращает Stepper для ключей этой карты. См. метод stepper.

Унаследовано от MapOps

Источник
def keys: Iterable[K]

Собирает все ключи этой карты в итерируемом наборе.

Возвращает

ключи этой карты в виде итерируемого объекта.

Унаследовано от MapOps

Источник
def last: (K, V)

Выбирает последний элемент.

Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.

Возвращает

Последний элемент этого итерируемого набора.

Исключение
NoSuchElementException

Если итерируемый набор пустой.

Унаследовано от IterableOps

Источник
def lastOption: Option[(K, V)]

Необязательно выбирает последний элемент.

Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.

Возвращает

последний элемент этого итерируемого набора, если он не пустой, None, если он пустой.

Унаследовано от IterableOps

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[(K, V), B, CollisionProofHashMap[K, V]]

Аналогично zip, за исключением того, что элементы в каждом наборе не потребляются до тех пор, пока на возвращенном LazyZip2 декораторе не будет вызвано строгое действие.

Вызовы lazyZip могут быть объединены для поддержки более высоких арностей (до 4) без расходов на построение и деконструирование промежуточных кортежей.

val xs = List(1, 2, 3)
val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d)
// res == List(4, 8, 12)
Параметры типа
B

тип второго элемента в каждой потенциальной паре

Параметры значения
that

итерируемый объект, обеспечивающий второй элемент каждой потенциальной пары

Возвращает

декоратор LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или объединенными вызовами lazyZip. Поддерживается также неявное преобразование в Iterable[(A, B)].

Унаследовано от Iterable

Источник
def lift: K => Option[V]

Преобразует эту частичную функцию в обычную функцию, возвращающую результат Option.

Возвращает

функция, которая принимает аргумент x к Some(this(x)), если this определена для x, и к None в противном случае.

См. также

Function.unlift

Унаследовано от PartialFunction

Источник
override def map[K2, V2](f: (K, V) => (K2, V2)): Map[K2, V2]

Классы определения StrictOptimizedMapOps -> MapOps
Унаследовано от StrictOptimizedMapOps

Источник
override def map[B](f: (K, V) => B): Iterable[B]

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
override def mapFactory: MapFactory[Map]

Классы определения Map -> Map -> MapOps
Унаследовано от Map

Источник
def mapResult[NewTo](f: CollisionProofHashMap[K, V] => NewTo): Builder[(K, V), NewTo]

Бильдер, полученный из этого билдера путем применения отображения к результату с использованием f.

Унаследовано от Builder

Источник
def mapValuesInPlace(f: (K, V) => V): CollisionProofHashMap[K, V]

Применяет функцию преобразования ко всем значениям, содержащимся в этой карте. Функция преобразования генерирует новые значения из существующих ключей, связанных со значениями.

Параметры значения
f

применяемое преобразование

Возвращает

сама карта.

Унаследовано от MapOps

Источник
def max[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

Находит максимальный элемент.

Примечание: не завершится для бесконечных коллекций.

Тип параметров
B

Тип, над которым определено упорядочение.

Параметры значений
ord

Упорядочение, используемое для сравнения элементов.

Возвращает

наибольший элемент этого набора относительно упорядочения ord.

Выбрасывает
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Source
def maxBy[B](f: (K, V) => B)(implicit cmp: Ordering[B]): (K, V)

Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип результата функции f.

Параметры значений
cmp

Упорядочение, используемое для сравнения элементов.

f

Функция измерения.

Возвращает

первый элемент этого набора с наибольшим значением, измеренным функцией f относительно упорядочения cmp.

Выбрасывает
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Source
def maxByOption[B](f: (K, V) => B)(implicit cmp: Ordering[B]): Option[(K, V)]

Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип результата функции f.

Параметры значений
cmp

Упорядочение, используемое для сравнения элементов.

f

Функция измерения.

Возвращает

значение опционального типа, содержащее первый элемент этого набора с наибольшим значением, измеренным функцией f относительно упорядочения cmp.

Унаследовано от IterableOnceOps

Source
def maxOption[B >: (K, V)](implicit ord: Ordering[B]): Option[(K, V)]

Находит наибольший элемент.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип, над которым определено упорядочение.

Параметры значений
ord

Упорядочение, используемое для сравнения элементов.

Возвращает

значение опционального типа, содержащее наибольший элемент этого набора относительно упорядочения ord.

Унаследовано от IterableOnceOps

Source
def min[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

Находит наименьший элемент.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип, над которым определено упорядочение.

Параметры значений
ord

Упорядочение, используемое для сравнения элементов.

Возвращает

наименьший элемент этого набора относительно упорядочения ord.

Выбрасывает
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Source
def minBy[B](f: (K, V) => B)(implicit cmp: Ordering[B]): (K, V)

Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип результата функции f.

Параметры значений
cmp

Упорядочение, используемое для сравнения элементов.

f

Функция измерения.

Возвращает

первый элемент этого набора с наименьшим значением, измеренным функцией f относительно упорядочения cmp.

Выбрасывает
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Source
def minByOption[B](f: (K, V) => B)(implicit cmp: Ordering[B]): Option[(K, V)]

Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип результата функции f.

Параметры значений
cmp

Упорядочение, используемое для сравнения элементов.

f

Функция измерения.

Возвращает

значение опционального типа, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f относительно упорядочения cmp.

Унаследовано от IterableOnceOps

Source
def minOption[B >: (K, V)](implicit ord: Ordering[B]): Option[(K, V)]

Находит наименьший элемент.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип, над которым определено упорядочение.

Параметры значений
ord

Упорядочение, используемое для сравнения элементов.

Возвращает

значение опционального типа, содержащее наименьший элемент этого набора относительно упорядочения ord.

Унаследовано от IterableOnceOps

Source@inline
final def mkString: String

Отображает все элементы этого набора в строке.

Делегирует addString, который можно переопределить.

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (с учётом метода toString) всех элементов этого набора следуют друг за другом без разделителя.

Унаследовано от IterableOnceOps

Source@inline
final def mkString(sep: String): String

Отображает все элементы этого набора в строке с использованием разделителя.

Делегирует addString, который можно переопределить.

Параметры значений
sep

строка-разделитель.

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (с учётом метода toString) всех элементов этого набора разделены строкой sep.

Пример

List(1, 2, 3).mkString("|") = "1|2|3"

Унаследовано от IterableOnceOps

Source
final def mkString(start: String, sep: String, end: String): String

Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительной строк.

Делегирует вызов addString, который можно переопределить.

Параметры значения
end

строка окончания.

sep

строка-разделитель.

start

строка начала.

Возвращает

строковое представление этого набора. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри, строковые представления (с учётом метода toString) всех элементов этого набора разделены строкой sep.

Пример

List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

Унаследовано от IterableOnceOps

Источник@deprecatedOverriding("nonEmpty определено как !isEmpty; переопределите isEmpty вместо этого", "2.13.0")
def nonEmpty: Boolean

Проверяет, не пуст ли набор.

Возвращает

true, если набор содержит по крайней мере один элемент, false в противном случае.

Унаследовано от IterableOnceOps

Источник
def orElse[A1 <: K, B1 >: V](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

Компонует эту частичную функцию с резервной частичной функцией, которая применяется там, где эта частичная функция не определена.

Параметры типа
A1

тип аргумента резервной функции

B1

тип результата резервной функции

Параметры значения
that

резервная функция

Возвращает

частичная функция, у которой областью определения является объединение областей определения этой частичной функции и that. Результирующая частичная функция принимает x к this(x), где this определена, и к that(x), где она не определена.

Унаследовано от PartialFunction

Источник
override def partition(p: (K, V) => Boolean): (CollisionProofHashMap[K, V], CollisionProofHashMap[K, V])

Классы-предки StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
override def partitionMap[A1, A2](f: (K, V) => Either[A1, A2]): (Iterable[A1], Iterable[A2])

Классы-предки StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
def product[B >: (K, V)](implicit num: Numeric[B]): B

Перемножает элементы этого набора.

Примечание: не завершит работу для наборов бесконечного размера.

Параметры типа
B

тип результата оператора *.

Параметры значения
num

явный параметр, определяющий набор арифметических операций, включающих оператор * для использования при вычислении произведения.

Возвращает

произведение всех элементов этого набора относительно оператора * в num.

Унаследовано от IterableOnceOps

Источник
def reduce[B >: (K, V)](op: (B, B) => B): B

Редуцирует элементы этого набора, используя указанный ассоциативный бинарный оператор.

Порядок выполнения операций над элементами не определён и может быть не детерминированным.

Параметры типа
B

параметр типа для бинарного оператора, сверхтип A.

Параметры значения
op

бинарный оператор, который должен быть ассоциативным.

Возвращает

результат применения оператора reduce op между всеми элементами, если набор не пустой.

Исключения
UnsupportedOperationException

если этот набор пустой.

Унаследовано от IterableOnceOps

Источник
def reduceLeft[B >: (K, V)](op: (B, (K, V)) => B): B

Применяет бинарный оператор ко всем элементам этого набора, слева направо.

Примечание: не завершит работу для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

результат вставки op между последовательными элементами этого набора, слева направо: op( op( ... op(x1, x2) ..., xn-1), xn), где x1, ..., xn — элементы этого набора.

Исключения
UnsupportedOperationException

если этот набор пустой.

Унаследовано от IterableOnceOps

Источник
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]

Необязательно применяет бинарный оператор ко всем элементам этого набора, слева направо.

Примечание: не завершит работу для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

значение опции, содержащее результат reduceLeft(op), если этот набор не пустой, None в противном случае.

Унаследовано от IterableOnceOps

Источник
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]

Редуцирует элементы этого набора, если они есть, используя указанный ассоциативный бинарный оператор.

Порядок выполнения операций над элементами не определён и может быть не детерминированным.

Параметры типа
B

параметр типа для бинарного оператора, сверхтип A.

Параметры значения
op

бинарный оператор, который должен быть ассоциативным.

Возвращает

значение опции, содержащее результат применения оператора reduce op между всеми элементами, если набор не пустой, и None в противном случае.

Унаследовано от IterableOnceOps

Источник
def reduceRight[B >: (K, V)](op: ((K, V), B) => B): B

Применяет бинарный оператор ко всем элементам этого набора, справа налево.

Примечание: не завершит работу для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.

Тип параметров
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

результат вставки op между последовательными элементами этого набора, справа налево: op(x1, op(x2, ..., op(xn-1, xn)...)), где x1, ..., xn — элементы этого набора.

Выбрасывает
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Источник
def reduceRightOption[B >: (K, V)](op: ((K, V), B) => B): Option[B]

Необязательно применяет бинарный оператор ко всем элементам этого набора, справа налево.

Примечание: не будет завершаться для наборов бесконечной длины.

Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не упорядочен или оператор не является ассоциативным и коммутативным.

Тип параметров
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

значение option, содержащее результат reduceRight(op), если этот набор не пустой, None в противном случае.

Унаследовано от IterableOnceOps

Источник
def result(): CollisionProofHashMap[K, V]

Унаследовано от MapOps

Источник
protected def reversed: Iterable[(K, V)]

Унаследовано от IterableOnceOps

Источник
def runWith[U](action: V => U): K => Boolean

Компонует данную частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; её результат игнорируется.

Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно

if(pf isDefinedAt x) { action(pf(x)); true } else false

за исключением того, что runWith реализуется с помощью applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойного вычисления совпадений шаблонов и условий для литералов частичных функций.

Параметры значения
action

функция действия

Возвращает

функция, которая отображает аргументы x в isDefinedAt(x). Результирующая функция выполняет action(this(x)), где this определено.

См. также

applyOrElse.

Унаследовано от PartialFunction

Источник
def scan[B >: (K, V)](z: B)(op: (B, B) => B): Iterable[B]

Вычисляет префиксный сканирование элементов набора.

Примечание: нейтральный элемент z может применяться более одного раза.

Тип параметров
B

тип элементов результирующего набора

Параметры значения
op

ассоциативный оператор для сканирования

z

нейтральный элемент для оператора op

Возвращает

новый итерируемый набор, содержащий префиксное сканирование элементов в этом итерируемом наборе

Унаследовано от IterableOps

Источник
override def scanLeft[B](z: B)(op: (B, (K, V)) => B): Iterable[B]

Классы определений StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
def scanRight[B](z: B)(op: ((K, V), B) => B): Iterable[B]

Создает набор, содержащий кумулятивные результаты применения оператора справа налево. Головной элемент набора — последний кумулятивный результат.

Примечание: не будет завершаться для наборов бесконечной длины.

Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не упорядочен.

Примечание: даже при применении к представлению или ленивому набору он всегда будет принуждать элементы.

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Тип параметров
B

тип элементов в результирующем наборе

Параметры значения
op

бинарный оператор, применяемый к промежуточному результату и элементу

z

начальное значение

Возвращает

набор с промежуточными результатами

Унаследовано от IterableOps

Источник
def sizeCompare(that: Iterable[_]): Int

Сравнивает размер этого итерируемого набора с размером другого Iterable.

Параметры значения
that

Iterable, размер которого сравнивается с размером этого итерируемого набора.

Возвращает

Значение x, где

x <  0       if this.size <  that.size
x == 0       if this.size == that.size
x >  0       if this.size >  that.size

Метод, как реализован здесь, не вызывает size напрямую; его время выполнения — O(this.size min that.size) вместо O(this.size + that.size). Метод следует переопределить, если вычисление size является быстрым, а knownSize возвращает -1.

Унаследовано от IterableOps

Источник
def sizeCompare(otherSize: Int): Int

Сравнивает размер этого итерируемого набора со значением теста.

Параметры значения
otherSize

тестовое значение, которое сравнивается с размером.

Возвращает

Значение x, где

x <  0       if this.size <  otherSize
x == 0       if this.size == otherSize
x >  0       if this.size >  otherSize

Метод, как реализован здесь, не вызывает size напрямую; его время выполнения — O(size min otherSize) вместо O(size). Метод следует переопределить, если вычисление size является быстрым, а knownSize возвращает -1.

См. также

sizeIs

Унаследовано от IterableOps

Источник
final def sizeHint(coll: IterableOnce[_], delta: Int): Unit

Подсказка о том, что ожидается, что result этого сборщика будет иметь такой же размер, как у заданного набора, плюс некоторая добавка. Это предоставит подсказку только в том случае, если у набора известен размер. Некоторые классы сборщиков оптимизируют своё представление на основе подсказки. Однако реализации сборщиков по-прежнему должны работать правильно, даже если подсказка неверна, то есть добавляется другое количество элементов.

Параметры значения
coll

набор, который служит подсказкой для размера результата.

delta

корректировка, которая добавляется к coll.size для получения подсказки размера.

Унаследовано от Builder

Источник
final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit

Указывает, сколько элементов ожидается добавить при следующем вызове result, вместе с верхней границей, заданной размером некоторой другой коллекции. Некоторые классы-билдеры оптимизируют своё представление на основе подсказки. Однако реализации билдеров всё равно должны работать корректно, даже если подсказка неверна, т.е. добавлено другое количество элементов.

Параметры значения
boundingColl

ограничивающая коллекция. Если это IndexedSeqLike, то размеры, превышающие размер коллекции, уменьшаются.

size

подсказка о том, сколько элементов будет добавлено.

Унаследовано от Builder

Источник@inline
final def sizeIs: SizeCompareOps

Возвращает значение класса, содержащее операции для сравнения размера этой итерируемой коллекции со значением теста.

Эти операции реализованы с использованием sizeCompare(Int) и позволяют использовать следующие более удобочитаемые варианты:

this.sizeIs < size     // this.sizeCompare(size) < 0
this.sizeIs <= size    // this.sizeCompare(size) <= 0
this.sizeIs == size    // this.sizeCompare(size) == 0
this.sizeIs != size    // this.sizeCompare(size) != 0
this.sizeIs >= size    // this.sizeCompare(size) >= 0
this.sizeIs > size     // this.sizeCompare(size) > 0
Унаследовано от IterableOps

Источник
def slice(from: Int, until: Int): CollisionProofHashMap[K, V]

Унаследовано от IterableOps

Источник
def sliding(size: Int, step: Int): Iterator[CollisionProofHashMap[K, V]]

Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разбиения их, как это делается в grouped.)

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

Параметры значения
size

количество элементов в группе

step

расстояние между первыми элементами последовательных групп

Возвращает

Итератор, производящий итерируемые коллекции размера size, за исключением последнего элемента (который может быть единственным элементом), который будет меньше, если осталось меньше, чем size элементов для группирования.

См. также

scala.collection.Iterator, метод sliding

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

Унаследовано от IterableOps

Источник
def sliding(size: Int): Iterator[CollisionProofHashMap[K, V]]

Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разбиения их, как это делается в grouped.)

Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который будет производить исходную коллекцию как свой единственный элемент.

Параметры значения
size

количество элементов в группе

Возвращает

Итератор, производящий итерируемые коллекции размера size, за исключением непустой коллекции с менее чем size элементами, которая возвращает итератор, производящий исходную коллекцию как свой единственный элемент.

См. также

scala.collection.Iterator, метод sliding

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

Унаследовано от IterableOps

Источник
override def span(p: (K, V) => Boolean): (CollisionProofHashMap[K, V], CollisionProofHashMap[K, V])

Классы-определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
override def splitAt(n: Int): (CollisionProofHashMap[K, V], CollisionProofHashMap[K, V])

Классы-определения IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
def stepper[S <: Stepper[_]](implicit shape: StepperShape[(K, V), S]): S

Возвращает scala.collection.Stepper для элементов этой коллекции.

Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper можно использовать как итератор, который не упаковывает элементы.

Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элемента этой коллекции.

  • Для коллекций Int, Short, Byte или Char возвращается scala.collection.IntStepper

  • Для коллекций Double или Float возвращается scala.collection.DoubleStepper

  • Для коллекций Long возвращается scala.collection.LongStepper

  • Для любого другого типа элемента возвращается scala.collection.AnyStepper

Обратите внимание, что этот метод переопределяется в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper можно преобразовать только в последовательные потоки.

Унаследовано от IterableOnce

Источник
def subtractAll(xs: IterableOnce[K]): CollisionProofHashMap[K, V]

Удаляет все элементы, производимые итератором, из этой сжимаемой коллекции.

Параметры значения
xs

итератор, производящий удаляемые элементы.

Возвращает

сама сжимаемая коллекция

Унаследовано от Shrinkable

Источник
def sum[B >: (K, V)](implicit num: Numeric[B]): B

Суммирует элементы этой коллекции.

Примечание: не завершается для коллекций бесконечного размера.

Параметры типа
B

тип результата оператора +.

Параметры значения
num

неявный параметр, определяющий набор числовых операций, который включает оператор +, используемый для образования суммы.

Возвращает

сумма всех элементов этой коллекции относительно оператора + в num.

Унаследовано от IterableOnceOps

Источник
def tail: CollisionProofHashMap[K, V]

Остальная часть коллекции без её первого элемента.

Унаследовано от IterableOps
END_OF_DOCUMENT_MARKER

Исходный код
def tails: Итератор[CollisionProofHashMap[K, V]]

Итерирует по хвостам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения — результаты последовательного применения tail.

Возвращает

итератор по всем хвостам этого итерируемого набора

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

Унаследовано от IterableOps

Исходный код
def take(n: Int): CollisionProofHashMap[K, V]

Унаследовано от IterableOps

Исходный код
override def takeRight(n: Int): CollisionProofHashMap[K, V]

Коллекция, содержащая последние n элементы этой коллекции.

Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.

Классы-предки StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Исходный код
def takeWhile(p: (K, V) => Boolean): CollisionProofHashMap[K, V]

Извлекает самую длинную префиксную часть элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры
p

Предикат, используемый для проверки элементов.

Возвращает

самый длинный префикс этого итерируемого набора, элементы которого удовлетворяют предикату p.

Унаследовано от IterableOps

Исходный код
override def tapEach[U](f: (K, V) => U): CollisionProofHashMap[K, V]

Классы-предки StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Исходный код
def to[C1](factory: Factory[(K, V), C1]): C1

Принимая во внимание фабрику коллекций factory, преобразует эту коллекцию в соответствующую форму для текущего типа элемента A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Исходный код
def toArray[B >: (K, V) : ClassTag]: Массив[B]

Преобразование коллекции в массив.

Примечание к реализации: НЕ вызывайте Array.from из этого метода.

Унаследовано от IterableOnceOps

Исходный код@inline
final def toBuffer[B >: (K, V)]: Буфер[B]

Унаследовано от IterableOnceOps

Исходный код
def toIndexedSeq: IndexedSeq[(K, V)]

Унаследовано от IterableOnceOps

Исходный код
def toList: Список[(K, V)]

Унаследовано от IterableOnceOps

Исходный код
def toMap[K, V](implicit ev: (K, V) <:< (K, V)): Карта[K, V]

Унаследовано от IterableOnceOps

Исходный код
def toSeq: Последовательность[(K, V)]

Возвращает

Эта коллекция как Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Унаследовано от IterableOnceOps

Исходный код
def toSet[B >: (K, V)]: Множество[B]

Унаследовано от IterableOnceOps

Исходный код
override def toString(): Строка

Классы-предки Карта -> Функция1 -> Итерируемый набор -> Любой
Унаследовано от Карта

Исходный код
def toVector: Вектор[(K, V)]

Унаследовано от IterableOnceOps

Исходный код
def transpose[B](implicit asIterable: (K, V) => Итерируемый набор[B]): Итерируемый набор[Итерируемый набор[B]]

Транспонирует этот итерируемый набор итерируемых наборов в итерируемый набор итерируемых наборов.

Тип результирующей коллекции будет зависеть от статического типа итерируемой коллекции. Например:

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.

Параметры типа
B

тип элементов каждого итерируемого набора.

Параметры
asIterable

явное преобразование, которое утверждает, что тип элементов этого итерируемого набора является Iterable.

Возвращает

двумерный итерируемый набор итерируемых наборов, в котором n-я строка представляет n-й столбец этого итерируемого набора.

Исключения
IllegalArgumentException

если все коллекции в этом итерируемом наборе не имеют одинаковый размер.

Унаследовано от IterableOps

Исходный код
def unapply(a: K): Некоторые[V]

Пытается извлечь B из A в выражении сопоставления с образцом.

Унаследовано от PartialFunction

Источник
override def unzip[A1, A2](implicit asPair: (K, V) => (A1, A2)): (Iterable[A1], Iterable[A2])

Классы определений StrictOptimizedIterableOps -> IterableOps
Унаследованно от StrictOptimizedIterableOps

Источник
override def unzip3[A1, A2, A3](implicit asTriple: (K, V) => (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[A3])

Классы определений StrictOptimizedIterableOps -> IterableOps
Унаследованно от StrictOptimizedIterableOps

Источник
def updateWith(key: K)(remappingFunction: Option[V] => Option[V]): Option[V]

Обновляет отображение для указанного ключа и его текущего необязательного сопоставленного значения (Some, если есть текущее сопоставление, None, если нет).

Если функция переназначения возвращает Some(v), отображение обновляется с новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остается отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее отображение остается без изменений.

Параметры значения
key

значение ключа

remappingFunction

частичная функция, которая получает текущее необязательно сопоставленное значение и возвращает новое отображение

Возвращаемое значение

новое значение, связанное с указанным ключом

Унаследованно от MapOps

Источник
def valueStepper[S <: Stepper[_]](implicit shape: StepperShape[V, S]): S

Возвращает Stepper для значений данной карты. См. метод stepper.

Унаследованно от MapOps

Источник
def values: Iterable[V]

Собирает все значения этой карты в итерируемую коллекцию.

Возвращаемое значение

значения этой карты в виде итерируемого объекта.

Унаследованно от MapOps

Источник
def valuesIterator: Iterator[V]

Создает итератор для всех значений в этой карте.

Возвращаемое значение

итератор по всем значениям, которые связаны с каким-либо ключом в этой карте.

Унаследованно от MapOps

Источник
override def view: MapView[K, V]

Классы определений MapOps -> IterableOps
Унаследованно от MapOps

Источник
def withDefault(d: K => V): Map[K, V]

Та же карта с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys и т. д., не затронуты withDefaultValue.

Вызов методов преобразования (например, map) не сохранит значение по умолчанию.

Параметры значения
d

функция сопоставления ключей со значениями, используемая для отсутствующих ключей

Возвращаемое значение

обертка карты со значением по умолчанию

Унаследованно от Map

Источник
def withDefaultValue(d: V): Map[K, V]

Та же карта с заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys и т. д., не затронуты withDefaultValue.

Вызов методов преобразования (например, map) не сохранит значение по умолчанию.

Параметры значения
d

значение по умолчанию, используемое для отсутствующих ключей

Возвращаемое значение

обертка карты со значением по умолчанию

Унаследованно от Map

Источник
override def withFilter(p: (K, V) => Boolean): WithFilter[K, V, Iterable, Map]

Классы определений MapFactoryDefaults -> IterableOps
Унаследованно от MapFactoryDefaults

Источник
override def zip[B](that: IterableOnce[B]): Iterable[((K, V), B)]

Классы определений StrictOptimizedIterableOps -> IterableOps
Унаследованно от StrictOptimizedIterableOps

Источник
def zipAll[A1 >: (K, V), B](that: Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]

Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции, объединяя соответствующие элементы в пары. Если одна из двух коллекций короче другой, элементы-заполнители используются для расширения более короткой коллекции до длины более длинной.

Параметры значения
that

итерируемая коллекция, предоставляющая вторую половину каждой пары результатов

thatElem

элемент, который будет использоваться для заполнения результата, если that короче, чем эта итерируемая коллекция.

thisElem

элемент, который будет использоваться для заполнения результата, если эта итерируемая коллекция короче, чем that.

Возвращаемое значение

новая коллекция типа That, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и that. Длина возвращаемой коллекции равна максимальной из длин этой итерируемой коллекции и that. Если эта итерируемая коллекция короче that, значения thisElem используются для заполнения результата. Если that короче, чем эта итерируемая коллекция, значения thatElem используются для заполнения результата.

Унаследованно от IterableOps

Источник
override def zipWithIndex: Iterable[((K, V), Int)]

Классы определений StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследованно от StrictOptimizedIterableOps

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/mutable/CollisionProofHashMap.html

Spec-Zone.ru

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