Spec-Zone.ru › Scala 3.1

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

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

@SerialVersionUID(3L)
class WeakHashMap[K, V] extends JMapWrapper[K, V] with JMapWrapperLike[K, V, WeakHashMap, WeakHashMap[K, V]] with MapFactoryDefaults[K, V, WeakHashMap, Iterable]

Хэш-карта со ссылками на элементы, которые могут быть слабо достижимы. Элементы удаляются из этой карты, когда на ключ больше нет (сильной) ссылки. Этот класс оборачивает java.util.WeakHashMap.

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

тип ключей, содержащихся в этой карте

V

тип значений, связанных с ключами

См. также

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

Надтипы
32 типа
класс JMapWrapper[K, V]
класс AbstractJMapWrapper[K, V]
интерфейс Serializable
интерфейс JMapWrapperLike[K, V, WeakHashMap, WeakHashMap[K, V]]
интерфейс StrictOptimizedMapOps[K, V, WeakHashMap, WeakHashMap[K, V]]
интерфейс StrictOptimizedIterableOps[(K, V), Iterable, WeakHashMap[K, V]]
класс AbstractMap[K, V]
интерфейс Map[K, V]
интерфейс MapOps[K, V, WeakHashMap, WeakHashMap[K, V]]
интерфейс Shrinkable[K]
интерфейс Builder[(K, V), WeakHashMap[K, V]]
интерфейс Growable[(K, V)]
интерфейс Clearable
интерфейс Cloneable[WeakHashMap[K, V]]
интерфейс Cloneable
интерфейс Iterable[(K, V)]
класс AbstractMap[K, V]
интерфейс Map[K, V]
интерфейс Equals
интерфейс MapFactoryDefaults[K, V, WeakHashMap, Iterable]
интерфейс MapOps[K, V, WeakHashMap, WeakHashMap[K, V]]
интерфейс PartialFunction[K, V]
интерфейс K => V
класс AbstractIterable[(K, V)]
интерфейс Iterable[(K, V)]
интерфейс IterableFactoryDefaults[(K, V), Iterable]
интерфейс IterableOps[(K, V), Iterable, WeakHashMap[K, V]]
интерфейс IterableOnceOps[(K, V), Iterable, WeakHashMap[K, V]]
интерфейс IterableOnce[(K, V)]
класс Object
интерфейс Matchable
класс Any

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

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

Классы-предки JMapWrapper -> MapFactoryDefaults -> IterableFactoryDefaults -> IterableOps

Исходный код
override def mapFactory: MapFactory[WeakHashMap]

Классы-предки Map -> Map -> MapOps

Наследованные методы

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

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

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

Исходный код
def ++[V2 >: V](xs: IterableOnce[(K, V2)]): WeakHashMap[K, V2]

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

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

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

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

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

Исходный код@inline
final def +=(elem: (K, V)): WeakHashMap[K, V]

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

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

Исходный код@inline
final def --=(xs: IterableOnce[K]): WeakHashMap[K, V]

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

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

Исходный код@inline
final def -=(elem: K): WeakHashMap[K, V]

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

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

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

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

Параметры
xs

IterableOnce, генерирующая элементы для добавления.

Возвращает

коллекцию с возможностью роста.

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

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

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

Исходный код@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

Source@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

Source
override def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

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

Source
def andThen[C](k: PartialFunction[V, C]): PartialFunction[K, C]

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

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

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

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

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

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

Возвращает

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

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

Source
override def andThen[C](k: V => C): PartialFunction[K, C]

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

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

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

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

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

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

Возвращает

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

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

Source@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def apply(key: K): V

Извлекает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет сопоставления от данного ключа к значению. Если не переопределено, метод default выбрасывает NoSuchElementException.

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

ключ

Возвращает

значение, связанное с заданным ключом, или результат метода default карты, если он отсутствует.

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

Source
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1

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

Source
def canEqual(that: Any): Boolean

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

Source
override def clear(): Unit

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

Source
override def clone(): WeakHashMap[K, V]

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

Source
override def collect[B](pf: PartialFunction[(K, V), B]): Iterable[B]

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

Source
override def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): WeakHashMap[K2, V2]

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

Source
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

Source
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

Источник
override def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): WeakHashMap[K, V2]

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

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

Проверяет, содержит ли эта карта привязку для ключа.

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

ключ

Возвращает

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

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

Источник
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): WeakHashMap[K, V]

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

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

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

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

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

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

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

Источник
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

Источник
override def equals(o: Any): Boolean

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

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

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

  • для каждой пары (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

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

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

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

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

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

Возвращает

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

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

Источник
override def filter(pred: (K, V) => Boolean): WeakHashMap[K, V]

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

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

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

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

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

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

Источник
override def filterNot(pred: (K, V) => Boolean): WeakHashMap[K, V]

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Источник
override def flatten[B](implicit toIterableOnce: (K, V) => IterableOnce[B]): Iterable[B]

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

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

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

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

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

Type parameters
A1

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

Value parameters
op

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

z

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

Returns

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

Inherited from IterableOnceOps

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

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

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

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

Type parameters
B

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

Value parameters
op

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

z

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

Returns

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

Inherited from IterableOnceOps

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

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

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

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

Type parameters
B

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

Value parameters
op

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

z

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

Returns

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

Inherited from IterableOnceOps

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

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

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

Value parameters
p

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

Returns

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

Inherited from IterableOnceOps

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

Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.

Inherited from IterableOnceOps

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

Definition Classes JMapWrapperLike -> MapOps
Inherited from JMapWrapperLike

Source
override protected def fromSpecific(coll: IterableOnce[(K, V)]): WeakHashMap[K, V]

Definition Classes MapFactoryDefaults -> IterableOps
Inherited from MapFactoryDefaults

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

Inherited from JMapWrapperLike

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

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

Type parameters
V1

тип результата вычисления по умолчанию.

Value parameters
default

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

key

ключ.

Returns

значение, связанное с key если оно существует, иначе результат вычисления default.

Inherited from MapOps

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

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

В противном случае вычисляет значение из заданного выражения op, сохраняет его с ключом в карте и возвращает это значение.

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

Value parameters
key

ключ для проверки

op

вычисление, возвращающее значение, которое нужно связать с key, если key ранее не был связан.

Returns

значение, связанное с ключом (либо ранее, либо в результате выполнения метода).

Inherited from MapOps

Source
def groupBy[K](f: (K, V) => K): Map[K, WeakHashMap[K, V]]

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

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

Type parameters
K

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

Value parameters
f

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

Returns

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

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

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

Inherited from IterableOps
END_OF_DOCUMENT_MARKER

Source
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

Source
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

Source
def grouped(size: Int): Iterator[WeakHashMap[K, V]]

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

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

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

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

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

См. также

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

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

Source
override def hashCode(): Int

Определяющие классы Map -> Any
Унаследовано от Map

Source
def head: (K, V)

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

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

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

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

Исключения
NoSuchElementException

если итерируемая коллекция пуста.

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

Source
def headOption: Option[(K, V)]

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

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

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

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

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

Source
def init: WeakHashMap[K, V]

Часть коллекции без последнего элемента.

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

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

Source
def inits: Iterator[WeakHashMap[K, V]]

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

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

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

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

Пример

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

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

Source
def isDefinedAt(key: K): Boolean

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

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

ключ

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

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

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

Source
override def isEmpty: Boolean

Определяющие классы JMapWrapper -> IterableOnceOps
Унаследовано от JMapWrapper

Source
override def isTraversableAgain: Boolean

Определяющие классы IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Source
override def iterableFactory: IterableFactory[Iterable]

Определяющие классы Iterable -> Iterable -> IterableOps
Унаследовано от Iterable

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

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

Source
def keySet: Set[K]

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

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

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

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

Source
def keyStepper[S <: Stepper[_]](implicit shape: StepperShape[K, S]): S

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

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

Source
def keys: Iterable[K]

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

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

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

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

Source
def keysIterator: Iterator[K]

Создаёт итератор для всех ключей.

Возвращает

итератор по всем ключам.

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

Source
override def knownSize: Int

Классы-предки JMapWrapper -> MapOps -> Growable -> IterableOnce
Унаследовано от JMapWrapper

Source
def last: (K, V)

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Source
def lastOption: Option[(K, V)]

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

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

Возвращает

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

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

Source
def lazyZip[B](that: Iterable[B]): LazyZip2[(K, V), B, WeakHashMap[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

Source
def lift: K => Option[V]

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

Возвращает

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

См. также

Function.unlift

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

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

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

Source
override def map[K2, V2](f: (K, V) => (K2, V2)): WeakHashMap[K2, V2]

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

Source
def mapResult[NewTo](f: WeakHashMap[K, V] => NewTo): Builder[(K, V), NewTo]

Строитель, полученный из этого, отображая результат с помощью f.

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

Source
def mapValuesInPlace(f: (K, V) => V): WeakHashMap[K, V]

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

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

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

Возвращает

сам словарь.

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

Source
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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключение
UnsupportedOperationException

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

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

Источник
def minBy[B](f: (K, V) => B)(implicit cmp: Ordering[B]): (K, V)

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

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

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

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

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

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

f

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

Возвращает

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

Исключение
UnsupportedOperationException

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

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

Источник
def minByOption[B](f: (K, V) => B)(implicit cmp: Ordering[B]): Option[(K, V)]

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник@inline
final def mkString: String

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

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

Возвращает

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

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

Исходный код@inline
final def mkString(sep: String): String

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

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

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

разделитель.

Возвращает

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

Пример

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

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

Исходный код
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

Исходный код
override protected def newSpecificBuilder: Builder[(K, V), WeakHashMap[K, V]]

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

Исходный код@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "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

Source
override def partition(p: (K, V) => Boolean): (WeakHashMap[K, V], WeakHashMap[K, V])

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
override def partitionMap[A1, A2](f: (K, V) => Either[A1, A2]): (Iterable[A1], Iterable[A2])

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def product[B >: (K, V)](implicit num: Numeric[B]): B

Произведение элементов этого набора.

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

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

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

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

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

Возвращает

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

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

Source
override def put(k: K, v: V): Option[V]

Definition Classes JMapWrapperLike -> MapOps
Inherited from JMapWrapperLike

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
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

Source
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]

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

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

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

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

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

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

Возвращает

Значение типа Option, содержащее результат применения редуцирующего оператора 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

Исходный код
override def remove(k: K): Option[V]

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

Source
def result(): WeakHashMap[K, V]

Inherited from MapOps

Source
protected def reversed: Iterable[(K, V)]

Inherited from IterableOnceOps

Source
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

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

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

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

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

тип элементов результирующей коллекции

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

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

z

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

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

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

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

Source
override def scanLeft[B](z: B)(op: (B, (K, V)) => B): Iterable[B]

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

Source
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

Source
override def size: Int

Определяющие классы JMapWrapperLike -> IterableOnceOps
Унаследовано от JMapWrapperLike

Source
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

Source
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

Source
final def sizeHint(coll: IterableOnce[_], delta: Int): Unit

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

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

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

delta

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

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

Source
def sizeHint(size: Int): Unit

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

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

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

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

Source
final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit

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

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

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

size

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

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

Источник@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): WeakHashMap[K, V]

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

Источник
def sliding(size: Int, step: Int): Iterator[WeakHashMap[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[WeakHashMap[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): (WeakHashMap[K, V], WeakHashMap[K, V])

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

Источник
override def splitAt(n: Int): (WeakHashMap[K, V], WeakHashMap[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]): WeakHashMap[K, V]

Удаляет все элементы, производимые итератором, из этого набора.

Параметры
xs

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

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

сам набор

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

Источник
def subtractOne(key: K): WeakHashMap[K, V]

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

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

Суммирует элементы этого набора.

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

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

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

Параметры
num

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

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

сумма всех элементов этого набора относительно оператора + в num.

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

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

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

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

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

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

END_OF_DOCUMENT_MARKER
Возвращает

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

Пример

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

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

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

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

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

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

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

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

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

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

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

Параметры
p

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

Возвращает

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

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

Исходный код
override def tapEach[U](f: (K, V) => U): WeakHashMap[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]: Array[B]

Преобразовать коллекцию в массив.

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def toSet[B >: (K, V)]: Set[B]

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

Исходный код
override def toString(): String

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

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

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

Исходный код
def transpose[B](implicit asIterable: (K, V) => Iterable[B]): Iterable[Iterable[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): Option[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

Исходный код
override def update(k: K, v: V): Unit

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

Исходный код
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, WeakHashMap]

Классы-определения 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

Унаследованные поля

Исходный код
val underlying: Map[K, V]

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

© 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/WeakHashMap.html

Spec-Zone.ru

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