Spec-Zone.ru › Scala 3.1

Трейт scala.collection.immutable.MapOps

Исходный код

Трейт MapOps[K, +V, +CC <: (MapOps), +C <: MapOps[K, V, CC, C]] extends IterableOps[(K, V), Iterable, C] with MapOps[K, V, CC, C]

Базовый трейт для неизменяемых реализаций Map

Суперадтипы
Трейт MapOps[K, V, CC, C]
Трейт PartialFunction[K, V]
Трейт K => V
Трейт IterableOps[(K, V), Iterable, C]
Трейт IterableOnceOps[(K, V), Iterable, C]
Трейт IterableOnce[(K, V)]
Класс Object
Трейт Matchable
Класс Any
Известные подтипы
20 типов
Трейт Map[K, V]
Класс AbstractMap[K, V]
Класс HashMap[K, V]
Класс IntMap[T]
Класс ListMap[K, V]
Класс LongMap[T]
Класс Map1[K, V]
Класс Map2[K, V]
Класс Map3[K, V]
Класс Map4[K, V]
Класс WithDefault[K, V]
Класс WithDefault[K, V]
Класс TreeMap[K, V]
Класс TreeSeqMap[K, V]
Класс VectorMap[K, V]
Трейт SeqMap[K, V]
Трейт SortedMap[K, V]
Трейт SortedMapOps[K, V, CC, C]
Трейт StrictOptimizedSortedMapOps[K, V, CC, C]
Трейт StrictOptimizedMapOps[K, V, CC, C]

Классы

Исходный код
Защищённый класс ImmutableKeySet extends AbstractSet[K] with DefaultSerializable

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

Абстрактные методы

Исходный код
Защищённый метод coll: C & CC[K, V]

Исходный код
Метод removed(key: K): C

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

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

ключ, который необходимо удалить

Возвращает

новое отображение без привязки к ключу

Исходный код
Метод updated[V1 >: V](key: K, value: V1): CC[K, V1]

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

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

тип добавленного значения

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

ключ

value

значение

Возвращает

Новое отображение с добавленной в это отображение новой связью ключ/значение. <недействительная аннотация inheritdoc>

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

Исходный код
Переопределённый метод +[V1 >: V](kv: (K, V1)): CC[K, V1]

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

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

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

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

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

Возвращает

Новое отображение с добавленной в это отображение новой связью.

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

Исходный код@inline
Окончательный метод -(key: K): C

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

Исходный код@inline
Окончательный переопределённый метод --(keys: IterableOnce[K]): C

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

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

Исходный код
Переопределённый метод keySet: Set[K]

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

Исходный код
Метод removedAll(keys: IterableOnce[K]): C

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

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

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

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

Возвращает

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

Исходный код
Метод transform[W](f: (K, V) => W): CC[K, W]

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

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

Функция над ключами и значениями

Возвращает

обновлённое отображение

Исходный код
Метод updatedWith[V1 >: V](key: K)(remappingFunction: Option[V] => Option[V1]): CC[K, V1]

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

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

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

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

remappingFunction

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

Возвращает

Новое отображение с обновлённым отображением ключа

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

Исходный код
Метод ++[V2 >: V](xs: IterableOnce[(K, V2)]): CC[K, V2]

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

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

Исходный код@inline
Окончательный метод ++[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

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

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

Исходный код
Переопределённый метод addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

Definition Classes MapOps -> IterableOnceOps
Inherited from MapOps

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

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

Пример:

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

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

scala> val h = a.addString(b)
h: StringBuilder = 1234
Value parameters
b

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

Returns

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

Inherited from IterableOnceOps

Source@inline
final def addString(b: StringBuilder, sep: String): StringBuilder

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

Пример:

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

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

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
Value parameters
b

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

sep

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

Returns

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

Inherited from IterableOnceOps

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

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

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

Type parameters
C

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

Value parameters
k

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

Returns

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

Inherited from PartialFunction

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

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

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

Type parameters
C

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

Value parameters
k

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

Returns

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

Definition Classes PartialFunction -> Function1
Inherited from PartialFunction

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

Возвращает значение, связанное с данным ключом. Этот метод вызывает метод default карты, если нет соответствия между данным ключом и значением. Если не переопределён, метод default выбрасывает исключение NoSuchElementException.

Value parameters
key

ключ

Returns

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

Inherited from MapOps

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

Definition Classes MapOps -> PartialFunction
Inherited from MapOps

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

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

Type parameters
K2

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

V2

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

Value parameters
pf

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

Returns

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

Inherited from MapOps

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

Inherited from IterableOps

Source
def collectFirst[B](pf: PartialFunction[(K, V), B]): Option[B]

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

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

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

Value parameters
pf

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

Returns

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

Example

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

Inherited from IterableOnceOps

Source
def compose[R](k: PartialFunction[R, K]): PartialFunction[R, V]

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

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

Type parameters
R

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

Value parameters
k

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

Returns

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

Inherited from PartialFunction

Source@unspecialized
def compose[A](g: A => K): A => V

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

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

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

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

функция A => T1

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

Source
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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Source
def drop(n: Int): C

Inherited from IterableOps

Source
def dropRight(n: Int): C

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

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

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

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

Возвращает

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

Inherited from IterableOps

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

Inherited from IterableOps

Source
def elementWise: ElementWiseExtractor[K, V]

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

Пример
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
  case firstChar.unlift.elementWise(c0, c1, c2) =>
    println(s"$c0, $c1, $c2") // Output: f, b, b
}
Inherited from PartialFunction

Source
def empty: C

Пустой итерируемый набор того же типа, что и этот итерируемый набор

Возвращает

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

Inherited from IterableOps

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

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

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

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

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

Возвращает

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

Inherited from IterableOnceOps

Source
def filter(pred: (K, V) => Boolean): C

Inherited from IterableOps

Source
def filterNot(pred: (K, V) => Boolean): C

Inherited from IterableOps

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

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

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

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

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

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

Возвращает

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

Inherited from IterableOnceOps

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

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

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

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

Возвращает

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

Inherited from MapOps

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

Inherited from IterableOps

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

Inherited from IterableOps

Source
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 если этот набор пустой.

Inherited from 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 если этот набор пустой.

Inherited from IterableOnceOps

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

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

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

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

END_OF_DOCUMENT_MARKER
Тип параметров
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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

key

ключ.

Возвращает

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

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

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

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

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

Тип параметров
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[C]

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

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

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

Возвращает

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

См. также

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

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

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

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

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

Возвращает

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

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

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

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

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

Опционально выбирает первый элемент.

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

Возвращает

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

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

Источник
def init: C

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

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

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

Источник
def inits: Iterator[C]

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

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

Возвращает

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

Пример

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

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

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

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

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

ключ

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

Возвращает

Количество элементов в этом наборе, если его можно вычислить дёшево, -1 в противном случае. Дёшево обычно означает: не требует обхода коллекции.

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

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

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

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

Возвращает

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

Изначает исключения
NoSuchElementException

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

См. также

Function.unlift

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Возвращает

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

Изначает исключения
UnsupportedOperationException

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

f

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

Возвращает

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

Исключение
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключение
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключение
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source@inline
final def mkString: String

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

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): (C, C)

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

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

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

Source
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

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

Произведение элементов этой коллекции.

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Ассоциативный бинарный оператор.

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

опциональный результат применения reduceLeft(op) если коллекция не пуста, None в противном случае.

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

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

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

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

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

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

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

Ассоциативный бинарный оператор.

Возвращает

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

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

Source
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

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

Возвращает

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

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

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

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

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

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

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

Источник
def slice(from: Int, until: Int): C

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

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

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

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

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

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

step

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

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

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

См. также

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

Пример

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

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

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

Источник
def sliding(size: Int): Iterator[C]

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

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

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

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

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

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

См. также

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

Пример

List().sliding(2) = empty iterator

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

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

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

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

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

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

Источник
override def splitAt(n: Int): (C, C)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def tail: C

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

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

Источник
def tails: Iterator[C]

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

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

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

Пример

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

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

Источник
def take(n: Int): C

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

Источник
def takeRight(n: Int): C

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 valueStepper[S <:< Stepper[_]](implicit shape: StepperShape[V, S]): S

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

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

Source
def values: Iterable[V]

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

Возвращает

значения этой карты как итерируемую.

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

Source
def valuesIterator: Iterator[V]

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

Возвращает

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

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

Source
override def view: MapView[K, V]

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

Source
def withFilter(p: (K, V) => Boolean): WithFilter[(K, V), Iterable]

Создаёт нестрогий фильтр этой итерируемой коллекции.

Примечание: разница между c filter p и c withFilter p заключается в том, что первый создает новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.

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

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

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

Возвращает

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к элементам этой итерируемой коллекции, удовлетворяющим предикату p.

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

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

Spec-Zone.ru

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