Spec-Zone.ru › Scala 3.1

Класс scala.collection.immutable.Map2

Исходный код

@SerialVersionUID(3L)
final class Map2[K, +V](key1: K, value1: V, key2: K, value2: V) extends AbstractMap[K, V] with StrictOptimizedIterableOps[(K, V), Iterable, Map[K, V]] with Serializable

Предок
22 типа
интерфейс Serializable
интерфейс StrictOptimizedIterableOps[(K, V), Iterable, Map[K, V]]
класс AbstractMap[K, V]
интерфейс Map[K, V]
интерфейс MapOps[K, V, Map, Map[K, V]]
интерфейс 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

Наследованные классы

Исходный код
protected class ImmutableKeySet extends AbstractSet[K] with DefaultSerializable

Класс реализации множества, возвращаемого keySet

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

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

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

Определяющие классы MapOps -> Function1

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

Определяющие классы MapOps

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

Определяющие классы IterableOnceOps

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

Определяющие классы IterableOnceOps

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

Определяющие классы IterableOnceOps

Исходный код
def get(key: K): Option[V]

Исходный код
override def getOrElse[V1 >: V](key: K, default: => V1): V1

Определяющие классы MapOps

Исходный код
override def hashCode(): Int

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def updated[V1 >: V](key: K, value: V1): Map[K, V1]

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

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

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

Источник
override def +[V1 >: V](kv: (K, V1)): Map[K, V1]

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

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

тип значения в паре ключ/значение.

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

пара ключ/значение.

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

Новый map с новым связыванием, добавленным в этот map.

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

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

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

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

Источник@inline
final override def --(keys: IterableOnce[K]): Map[K, V]

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

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

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

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

Пример:

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

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

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

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

Возвращает

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

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

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

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

Пример:

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

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

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

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

sep

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
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

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

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

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

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

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

Source
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 size, если элементы не делятся на размер группы без остатка.

См. также

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

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

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

Исходный код
override def isTraversableAgain: Boolean

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

Исходный код
override def iterableFactory: IterableFactory[Iterable]

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

Исходный код
override def keySet: Set[K]

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

Исходный код
def keyStepper[S <: Stepper[_]](implicit shape: StepperShape[K, S]): S

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

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

Исходный код
def keys: Iterable[K]

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

Возвращает

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

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

Исходный код
def last: (K, V)

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

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

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

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

Возвращает

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

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

Исходный код
def lazyZip[B](that: Iterable[B]): LazyZip2[(K, V), B, Map2[K, V]]

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

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

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

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

Параметры
that

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

Возвращает

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

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

Исходный код
def lift: K => Option[V]

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

Возвращает

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

См. также

Function.unlift

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

Исходный код
override def map[B](f: (K, V) => B): Iterable[B]

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

Исходный код
def map[K2, V2](f: (K, V) => (K2, V2)): Map[K2, V2]

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

Параметры
f

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

значение 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 removedAll(keys: IterableOnce[K]): Map[K, V]

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

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

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

набор, содержащий удаляемые элементы.

Возвращает

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

См. также

applyOrElse.

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

Пример:

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

См. также

sizeIs

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

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

Inherited from 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))

Inherited from 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))

Inherited from IterableOps

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

Классы-наследники StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

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

Классы-наследники IterableOps -> IterableOnceOps
Inherited from 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 могут быть преобразованы только в последовательные потоки.

Inherited from IterableOnce

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

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

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

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

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

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

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

Возвращает

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

Inherited from IterableOnceOps

Source
def tail: Map[K, V]

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

Inherited from 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)

Inherited from IterableOps

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

Inherited from IterableOps

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

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

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

Классы-наследники StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

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

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

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

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

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

Возвращает

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

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

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

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

Источник
def to[C1](factory: Factory[(K, V), C1]): C1

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

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

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

Источник
def toArray[B >: (K, V) : ClassTag]: Array[B]

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

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

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

Источник@inline
final def toBuffer[B >: (K, V)]: Buffer[B]

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

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

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

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

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

Источник
final override def toMap[K2, V2](implicit ev: (K, V) <:< (K2, V2)): Map[K2, V2]

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

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

Возвращает

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

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

Источник
def toSet[B >: (K, V)]: Set[B]

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

Источник
override def toString(): String

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

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

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

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

Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
IllegalArgumentException

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Источник
def zipAll[A1 >: (K, V), B](that: Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]

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

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

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

thatElem

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

thisElem

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

Возвращает

новая коллекция типа That, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и that. Длина возвращаемой коллекции — максимальное из длин этой итерируемой коллекции и that. Если эта итерируемая коллекция короче that, значения thisElem используются для заполнения результата. Если that короче этой итерируемой коллекции, значения thatElem используются для заполнения результата.

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

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

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

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/immutable/Map$$Map2.html

Spec-Zone.ru

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