Spec-Zone.ru › Scala 3.1

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

Исходный код

абстрактный класс AbstractMap[K, V] extends AbstractMap[K, V] с Map[K, V]

Явное создание экземпляра Map трейта для уменьшения размера файла класса в подклассах.

Надтипы
25 типов
трейт Map[K, V]
трейт MapOps[K, V, Map, Map[K, V]]
трейт Shrinkable[K]
трейт Builder[(K, V), Map[K, V]]
трейт Growable[(K, V)]
трейт Clearable
трейт Cloneable[Map[K, V]]
трейт Cloneable
трейт Iterable[(K, V)]
класс AbstractMap[K, V]
трейт Map[K, V]
трейт Equals
трейт MapFactoryDefaults[K, V, Map, Iterable]
трейт MapOps[K, V, Map, Map[K, V]]
трейт PartialFunction[K, V]
трейт K => V
класс AbstractIterable[(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
Известные подтипы
класс TrieMap[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

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

Исходный код@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)]): AbstractMap[K, V]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

саму коллекцию, поддерживающую добавление.

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

Исходный код
def addOne(elem: (K, V)): AbstractMap[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
END_OF_DOCUMENT_MARKER

Source
def concat[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

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

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

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

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

объект, который нужно добавить.

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

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

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

Source
def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): Map[K, V2]

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

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

объект, который нужно добавить.

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

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

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

Source
def contains(key: K): Boolean

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

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

ключ

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

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

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

Source
def copyToArray[B >: (K, V)](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

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

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

start

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

xs

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

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

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

Примечание

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

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

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

Source@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): Map[K, V]

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

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

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

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

END_OF_DOCUMENT_MARKER
Параметры значения
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,

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

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

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

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

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

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

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

Словарь, с которым сравнивается этот словарь

Возвращает

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

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

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

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

Возвращает

результат применения оператора fold 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

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[Map[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: Map[K, V]

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

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

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

Source
def inits: Iterator[Map[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
def isEmpty: Boolean

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

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

Возвращает

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

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

Source
override def isTraversableAgain: Boolean

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

Source
override def iterableFactory: IterableFactory[Iterable]

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

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

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

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

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

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

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, AbstractMap[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
def map[B](f: (K, V) => B): Iterable[B]

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

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

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

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

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

Возвращает

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

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

Source
override def mapFactory: MapFactory[Map]

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

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

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

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

Source
def mapValuesInPlace(f: (K, V) => V): AbstractMap[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

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

Возвращает

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Source
override protected def newSpecificBuilder: Builder[(K, V), Map[K, V]]

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

Source@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

Возвращает

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

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

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

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

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

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

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

size

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

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

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

Source
def slice(from: Int, until: Int): Map[K, V]

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

Source
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

Source
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

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

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

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

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

Source
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. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Steppers могут быть преобразованы только в последовательные потоки.

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

Source
def subtractAll(xs: IterableOnce[K]): AbstractMap[K, V]

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

Source
def unapply(a: K): Option[V]

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

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

Source
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

Source
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

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

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

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

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

value

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

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

Source
def updateWith(key: K)(remappingFunction: Option[V] => Option[V]): Option[V]

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

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

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

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

remappingFunction

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

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

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

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

Source
def valueStepper[S <: Stepper[_]](implicit shape: StepperShape[V, S]): S

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

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

Source
def values: Iterable[V]

Собраны все значения этой карты в итерируемом множестве.

Возвращает

значения этой карты в виде итерируемого объекта.

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

Источник
def valuesIterator: Iterator[V]

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

Возвращает

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

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

Источник
override def view: MapView[K, V]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Spec-Zone.ru

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