Spec-Zone.ru › Scala 3.1

Трейт scala.collection.SortedMapFactoryDefaults

Исходный код

трейт SortedMapFactoryDefaults[K, +V, +CC <: ([x, y] =>> Map[x, y] & SortedMapOps[x, y, CC, CC[x, y]] & UnsortedCC[x, y]), +WithFilterCC <: ([x] =>> IterableOps[x, WithFilterCC, WithFilterCC[x]] & Iterable[x]), +UnsortedCC <: (Map)] extends SortedMapOps[K, V, CC, CC[K, V]] with MapOps[K, V, UnsortedCC, CC[K, V]]

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

Обратите внимание, что в сортированных картах тип CC карты не совпадает с типом CC для основной карты (который фиксирован в Map в SortedMapOps). Поэтому этот трейт имеет три параметра типа CC, WithFilterCC и UnsortedCC. Метод withFilter, унаследованный от IterableOps, переопределяется с совместимой стандартной реализацией.

Стандартные реализации в этом трейте могут использоваться в общем случае, когда CC[A] совпадает с C.

Суператрибуты
трейт SortedMapOps[K, V, CC, CC[K, V]]
трейт SortedOps[K, CC[K, V]]
трейт MapOps[K, V, UnsortedCC, CC[K, V]]
трейт PartialFunction[K, V]
трейт K => V
трейт IterableOps[(K, V), Iterable, CC[K, V]]
трейт IterableOnceOps[(K, V), Iterable, CC[K, V]]
трейт IterableOnce[(K, V)]
класс Object
трейт Matchable
класс Any
Известные подтипы
трейт SortedMap[K, V]
трейт SortedMap[K, V]
класс WithDefault[K, V]
класс TreeMap[K, V]
трейт SortedMap[K, V]
класс WithDefault[K, V]
класс TreeMap[K, V]
Тип "self"
IterableOps[(K, V), WithFilterCC, _]

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

Исходный код
переопределение def empty: CC[K, V]

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

Исходный код
переопределение protected def fromSpecific(coll: IterableOnce[(K, V)]): CC[K, V]

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

Исходный код
переопределение protected def newSpecificBuilder: Builder[(K, V), CC[K, V]]

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

Исходный код
переопределение def withFilter(p: (K, V) => Boolean): WithFilter[K, V, WithFilterCC, UnsortedCC, CC]

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

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

Исходный код@inline
окончательный переопределение def ++[V2 >: V](xs: IterableOnce[(K, V2)]): CC[K, V2]

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

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

Источник@inline
final def ++[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

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

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

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

Классы-предки MapOps -> IterableOnceOps
Унаследовано от 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

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

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

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

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

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

Параметры
k

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

ключ

Возвращает

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

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

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

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

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

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

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

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

V2

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

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

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

Возвращает

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

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

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

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

Источник
def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)])(implicit @implicitNotFound ordering: Ordering[K2]): CC[K2, V2]

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник@unspecialized
def compose[A](g: A => K): A => V

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

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

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

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

функция A => T1

Возвращает

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

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

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

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

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

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

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

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

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

объединяемая коллекция.

Возвращает

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

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

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

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

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

ключ

Возвращает

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

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

Источник
def copyToArray[B >: (K, V)](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B]): Int

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

Источник
def corresponds[B](that: IterableOnce[B])(p: ((K, V), B) => Boolean): Boolean

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

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

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

тип элементов that

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

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

that

другая коллекция

Возвращает

true если обе коллекции имеют одинаковую длину и p(x, y) является true для всех соответствующих элементов x этого итератора и y that, иначе false

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def filter(pred: (K, V) => Boolean): CC[K, V]

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

Исходный код
def filterNot(pred: (K, V) => Boolean): CC[K, V]

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def firstKey: K

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

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

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

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

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

Возвращает

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

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

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

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

Исходный код
def flatMap[K2, V2](f: (K, V) => IterableOnce[(K2, V2)])(implicit @implicitNotFound ordering: Ordering[K2]): CC[K2, V2]

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

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

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

Возвращает

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

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

Исходный код
def flatten[B](implicit asIterable: (K, V) => IterableOnce[B]): Iterable[B]

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

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 forall(p: (K, V) => Boolean): Boolean

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

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

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

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

Возвращает

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

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

Source
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

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

Возвращает

объект Option, содержащий значение, связанное с 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, CC[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[CC[K, V]]

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

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

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

Возвращает

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

См. также

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

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

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

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

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

Возвращает

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

Исключение
NoSuchElementException

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

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

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

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

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

Возвращает

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

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

Источник
def init: CC[K, V]

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

ключ

Возвращает

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

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

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

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

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

END_OF_DOCUMENT_MARKER
Возвращает

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

Создаёт итератор по всем парам ключ/значение, содержащимся в этом отображении, имеющим ключ, больший или равный start в соответствии с упорядочением этого отображения. x.iteratorFrom(y) эквивалентно, но часто более эффективно, чем x.from(y).iterator.

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

Нижняя граница (включительно) по ключам, которые должны быть возвращены

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

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

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

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

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

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

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

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

Возвращает

ключи этого отображения как итерируемую коллекцию.

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

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

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

Возвращает

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

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

Источник
def keysIteratorFrom(start: K): Iterator[K]

Создаёт итератор по всем ключам (или элементам), содержащимся в этой коллекции, большим или равным start в соответствии с упорядочением этой коллекции. x.keysIteratorFrom(y) эквивалентно, но часто более эффективно, чем x.from(y).keysIterator.

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

Нижняя граница (включительно) по ключам, которые должны быть возвращены

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

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

Возвращает

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

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

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

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Источник
def lastKey: K

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

Источник
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)): UnsortedCC[K2, V2]

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def mapFactory: MapFactory[UnsortedCC]

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

Примечание

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def maxBefore(key: K): Option[(K, V)]

Найти элемент с наибольшим ключом, меньшим заданного ключа.

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

Заданный ключ.

Возвращает

None, если такого узла нет.

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def min[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

Находит элемент с наименьшим ключом, большим или равным заданному ключу.

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

Заданный ключ.

Возвращает

None, если такого узла нет.

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

Исходный код
def minBy[B](f: (K, V) => B)(implicit cmp: Ordering[B]): (K, V)

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Исходный код
def minByOption[B](f: (K, V) => B)(implicit cmp: Ordering[B]): Option[(K, V)]

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

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

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

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

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

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

f

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

Возвращает

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

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

Исходный код
def minOption[B >: (K, V)](implicit ord: Ordering[B]): Option[(K, V)]

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

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

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

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

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

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

Возвращает

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

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

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 ordering: Ordering[K]

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

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

Пара, состоящая, во-первых, из всех элементов, удовлетворяющих предикату 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 range(from: K, until: K): CC[K, V]

Создаёт проекцию этой коллекции с нижней и верхней границами.

Параметры
from

Нижняя граница (включительно) проекции.

until

Верхняя граница (исключительно) проекции.

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

Source
def rangeFrom(from: K): CC[K, V]

Создаёт проекцию этой коллекции без верхней границы.

Параметры
from

Нижняя граница (включительно) проекции.

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

Source
def rangeImpl(from: Option[K], until: Option[K]): CC[K, V]

Создаёт проекцию этой коллекции.

Любые изменения в проекции изменят эту коллекцию и наоборот.

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

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

Нижняя граница (включительно) диапазона проекции. None если нижней границы нет.

until

Верхняя граница (исключительно) диапазона проекции. None если верхней границы нет.

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

Исходный код
def rangeTo(to: K): CC[K, V]

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

Исходный код
def rangeUntil(until: K): CC[K, V]

Создаёт проекцию диапазона этой коллекции без нижней границы.

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

Верхняя граница (исключительно) диапазона проекции.

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

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

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

Возвращает

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

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

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

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

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

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

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

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

step

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

Возвращает

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

См. также

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

Пример

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

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

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

Источник
def sliding(size: Int): Iterator[CC[K, V]]

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

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

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

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

Возвращает

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

См. также

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

Пример

List().sliding(2) = empty iterator

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

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

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

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

Источник
def sortedMapFactory: SortedMapFactory[CC]

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

Примечание

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

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

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

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

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

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

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

Возвращает scala.collection.Stepper для элементов этого набора.

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

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

  • Для наборов типа Int, Short, Byte или Char, возвращается scala.collection.IntStepper

  • Для наборов типа Double или Float, возвращается scala.collection.DoubleStepper

  • Для наборов типа Long возвращается scala.collection.LongStepper

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Преобразует набор в массив.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
override def toString(): String

Definition Classes Function1 -> Any
Inherited from Function1

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

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

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

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
def valuesIteratorFrom(start: K): Iterator[V]

Создаёт итератор по всем значениям, содержащимся в этой карте, связанным с ключом, больше или равным start в соответствии с порядком этой карты. x.valuesIteratorFrom(y) эквивалентно, но часто эффективнее, чем x.from(y).valuesIterator.

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

Нижняя граница (включительно) по ключам, которые должны быть возвращены

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

Source
override def view: MapView[K, V]

Definition Classes MapOps -> IterableOps
Inherited from MapOps

Source
def zip[B](that: IterableOnce[B]): Iterable[((K, V), B)]

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

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

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

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

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

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

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

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

Source
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/SortedMapFactoryDefaults.html

Spec-Zone.ru

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