Spec-Zone.ru › Scala 3.1

Трейт scala.collection.mutable.Map

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

трейт Map[K, V] extends Iterable[(K, V)] with Map[K, V] with MapOps[K, V, Map, Map[K, V]] with Growable[(K, V)] with Shrinkable[K] with MapFactoryDefaults[K, V, Map, Iterable]

Базовый тип изменяемых Map

Суперайтепы
22 типа
трейт MapOps[K, V, Map, Map[K, V]]
трейт Shrinkable[K]
трейт Builder[(K, V), Map[K, V]]
трейт Growable[(K, V)]
трейт Clearable
трейт Cloneable[Map[K, V]]
трейт Cloneable
трейт Map[K, V]
трейт Equals
трейт MapFactoryDefaults[K, V, Map, Iterable]
трейт MapOps[K, V, Map, Map[K, V]]
трейт PartialFunction[K, V]
трейт K => V
трейт Iterable[(K, V)]
трейт Iterable[(K, V)]
трейт IterableFactoryDefaults[(K, V), Iterable]
трейт IterableOps[(K, V), Iterable, Map[K, V]]
трейт IterableOnceOps[(K, V), Iterable, Map[K, V]]
трейт IterableOnce[(K, V)]
класс Object
трейт Matchable
класс Any
Известные подтипы
17 типов
трейт Map[K, V]
класс TrieMap[K, V]
класс AbstractMap[K, V]
класс AnyRefMap[K, V]
класс CollisionProofHashMap[K, V]
класс HashMap[K, V]
класс LinkedHashMap[K, V]
класс ListMap[K, V]
класс LongMap[V]
класс WithDefault[K, V]
класс WithDefault[K, V]
класс OpenHashMap[Key, Value]
класс TreeMap[K, V]
класс SystemProperties
трейт MultiMap[K, V]
трейт SeqMap[K, V]
трейт SortedMap[K, V]

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

Исходный код
переопределённый def mapFactory: MapFactory[Map]

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

Исходный код
def withDefault(d: K => V): Map[K, V]

Один и тот же map с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затрагиваются withDefaultValue.

Вызов методов трансформации (например, map) не сохранит значение по умолчанию.

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

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

Возвращает

обёртка map со значением по умолчанию

Исходный код
def withDefaultValue(d: V): Map[K, V]

Один и тот же map с заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затрагиваются withDefaultValue.

Вызов методов трансформации (например, map) не сохранит значение по умолчанию.

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

значение по умолчанию, используемое для отсутствующих ключей

Возвращает

обёртка map со значением по умолчанию

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

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

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

Наследованный от IterableOps

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

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

Наследованный от MapOps

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

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

Наследованный от Growable

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

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

Наследованный от Growable

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

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

Наследованный от Shrinkable

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

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

Наследованный от Shrinkable

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

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

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

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

Возвращает

сама изменяемая коллекция.

Наследованный от Growable

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

Добавляет один элемент в эту изменяемую коллекцию.

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

элемент для добавления.

Возвращает

сама изменяемая коллекция

Наследованный от Growable

Исходный код@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 для полученной частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.

Параметры типа
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

Источник@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def apply(key: K): V

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

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

ключ

Возвращает

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

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

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

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

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

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

Источник
def clear(): Unit

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

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

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

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

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

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

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

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

тип ключа возвращаемой карты.

V2

тип значения возвращаемой карты.

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

частичная функция, которая фильтрует и отображает карту.

Возвращает

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

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

Источник
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 concat[V2 >: V](suffix: IterableOnce[(K, V2)]): Map[K, V2]

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

Значения параметров
suffix

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

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

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

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

Исходный код
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("Это всегда должно перенаправлять на 3-аргументную версию этого метода", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Источник@deprecatedOverriding("Это всегда должно перенаправлять на 3-аргументную версию этого метода", 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

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

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

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

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

Возвращает

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

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

Источник@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: K): V

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

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

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

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

Источник
def drop(n: Int): Map[K, V]

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

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

Выбирает все элементы, кроме последних n.

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

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

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

Возвращает

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

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

Источник
def dropWhile(p: (K, V) => Boolean): Map[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 empty: Map[K, V]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

Наследуется от IterableOps

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

Источник
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 foreach[U](f: (K, V) => U): Unit

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

Наследуется от IterableOnceOps

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

Применяет f к каждой паре ключ/значение для её побочных эффектов. Примечание: параметр [U] необходим для помощи в процессе вывода типов scalac.

Наследуется от MapOps

Источник
override protected def fromSpecific(coll: IterableOnce[(K, V)]): Map[K, V]

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

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

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

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

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

Возвращает

значение Option, содержащее значение, связанное с key, в этом словаре или None если такого нет.

Наследуется от MapOps

Источник
def getOrElse[V1 >: V](key: K, default: => V1): V1

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

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

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

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

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

key

ключ.

Возвращает

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

Наследуется от MapOps

Источник
def getOrElseUpdate(key: K, op: => V): V

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

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

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

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

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

op

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

Возвращает

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

Наследуется от MapOps

Источник
def groupBy[K](f: (K, V) => K): Map[K, Map[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[Map[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: Map[K, V]

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

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

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

Источник
def inits: Iterator[Map[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

Источник
def isEmpty: Boolean

Проверяет, пуста ли коллекция.

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

Возвращает

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

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

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

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

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

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

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

Итератор можно использовать только один раз

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def keysIterator: Iterator[K]

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

Возвращает

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

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

Источник
override def knownSize: Int

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

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

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

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

Возвращает

Последний элемент этой итерируемой коллекции.

Исключения
NoSuchElementException

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

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

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

Возвращает опциональный последний элемент.

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

Возвращает

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

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

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[(K, V), B, Map[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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

преобразование, которое нужно применить

Возвращает

сама карта.

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

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

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

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

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

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

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

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

Возвращает

максимальный элемент этой коллекции относительно порядка ord.

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

Тип, для которого определен порядок.

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

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

Возвращает

значение типа Option, содержащее наибольший элемент этого набора относительно порядка 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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

значение опции, содержащей наименьший элемент этого набора по отношению к упорядочению 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), Map[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

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

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

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

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

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

Применяет функцию f к каждому элементу итерируемой коллекции и возвращает пару итерируемых коллекций: первую из значений, возвращённых функцией f, заключённых в scala.util.Left, и вторую из значений, заключённых в scala.util.Right.

Пример:

val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
 case i: Int => Left(i)
 case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

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

A2

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

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

функция «разделения», отображающая элементы этой итерируемой коллекции в scala.util.Either

Возвращает

пару итерируемых коллекций: первую из значений, возвращённых f, заключённых в scala.util.Left, и вторую из значений, заключённых в scala.util.Right.

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

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

Перемножает элементы этой коллекции.

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

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

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

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

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

Возвращает

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

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

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

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

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

ключ для обновления

value

новое значение

Возвращает

значение типа Option, содержащее значение, связанное с ключом до выполнения операции put, или None, если key не было определено в карте ранее.

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

значение типа Option, содержащее результат применения оператора 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 remove(key: K): Option[V]

Удаляет ключ из этого отображения, возвращая значение, ранее связанное с этим ключом, в виде объекта option.

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

ключ для удаления

Возвращает

значение типа option, содержащее значение, ранее связанное с key, или None если key не было определено в отображении ранее.

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

Исходный код
def result(): Map[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

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

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

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

Размер этого набора.

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

Возвращает

количество элементов в этом наборе.

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

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

Источник
def sizeHint(size: Int): Unit

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

Параметры значения
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): Map[K, V]

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

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

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

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

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

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

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

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

Возвращает

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

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

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

Удаляет один элемент из этой сжимаемой коллекции.

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

элемент для удаления.

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def tail: Map[K, V]

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

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

Source
def tails: Iterator[Map[K, V]]

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

Возвращает

итератор по всем хвостам этой итерируемой коллекции

Пример

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

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

Source
def take(n: Int): Map[K, V]

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

Source
def takeRight(n: Int): Map[K, V]

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

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

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

количество элементов для взятия из этой итерируемой коллекции.

Возвращает

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

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

Source
def takeWhile(p: (K, V) => Boolean): Map[K, V]

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

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

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

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

Возвращает

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

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

Source
override def tapEach[U](f: (K, V) => U): Map[K, V]

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

Source
def to[C1](factory: Factory[(K, V), C1]): C1

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

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

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

Source
def toArray[B >: (K, V) : ClassTag]: Array[B]

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

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

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

Source@inline
final def toBuffer[B >: (K, V)]: Buffer[B]

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

Source
def toIndexedSeq: IndexedSeq[(K, V)]

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

Source
def toList: List[(K, V)]

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

Source
def toMap[K, V](implicit ev: (K, V) <:< (K, V)): Map[K, V]

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

Source
def toSeq: Seq[(K, V)]

Возвращает

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

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

Source
def toSet[B >: (K, V)]: Set[B]

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

Source
override def toString(): String

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

Source
def toVector: Vector[(K, V)]

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

Source
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

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

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

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Тип параметров
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

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

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

Возвращает

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

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

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

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

val xs = Iterable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three),
//        Iterable(1, 2, 3))
Тип параметров
A1

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

A2

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

A3

тип третьего члена троек элементов

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

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

Возвращает

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

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

Источник
def update(key: K, value: V): Unit

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

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

Ключ для обновления

value

Новое значение

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

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

Источник
override def withFilter(p: (K, V) => Boolean): WithFilter[K, V, Iterable, Map]

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

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

Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путем объединения соответствующих элементов в пары. Если один из двух наборов длиннее другого, его оставшиеся элементы игнорируются.

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

тип второй половины возвращаемых пар

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

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

Возвращает

новый итерируемый набор, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и that. Длина возвращаемого набора — минимальная из длин этого итерируемого набора и that.

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

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

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

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

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

Spec-Zone.ru

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