Spec-Zone.ru › Scala 3.2

Trait SortedMapFactoryDefaults.SortedMapFactoryDefaults

Исходный код

trait 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, _]

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

Исходный код
override def empty: CC[K, V]

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

Возвращает

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

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

Исходный код
override protected def fromSpecific(coll: IterableOnce[(K, V)]): CC[K, V]

Определяет, как преобразовать заданный Iterable[A] в коллекцию типа C.

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

Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа этот метод необходимо переопределить (иначе компилятор выдаст ошибку). В общем случае, когда C =:= CC[A], это можно сделать, смешав трайт scala.collection.IterableFactoryDefaults, который реализует метод с использованием iterableFactory.

Как видно из аннотации @uncheckedVariance, использование этого метода может быть небезопасным. Однако, пока оно вызывается с Iterable[A], полученным из коллекции this (как это происходит в реализациях операций, где мы используем View[A] ), оно безопасно.

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

Исходный код
override protected def newSpecificBuilder: Builder[(K, V), CC[K, V]]

Возвращает

строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализовать этот метод возможно, но результирующее Builder нарушит ленивость. Поэтому операции предпочтительно реализовывать с помощью fromSpecific вместо этого метода.

Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа этот метод необходимо переопределить (иначе компилятор выдаст ошибку). В общем случае, когда C =:= CC[A], это можно сделать, смешав трайт scala.collection.IterableFactoryDefaults, который реализует метод с использованием iterableFactory.

Как видно из аннотации @uncheckedVariance, использование этого метода может быть небезопасным. Однако, пока возвращаемый билдер получает только значения A из экземпляра this, он безопасен.

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

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

Создает нестрогий фильтр этой карты.

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Исходный код
override def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

Добавляет все элементы этой карты в строковый билдер с использованием начальной, конечной и разделительных строк. Текст, который записывается, начинается со строки start и заканчивается строкой end. Внутри строковые представления (согласно методу 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 , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
Параметры значений
b

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

end

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

sep

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

start

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

Возвращает

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

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

Source
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

Source
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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def apply(key: K): V

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

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

ключ

Возвращает

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

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

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

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

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

if(pf isDefinedAt x) pf(x) else default(x)

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

- объединение частичных функций в цепочки orElse/andThen не приводит к чрезмерному вычислению apply/isDefinedAt - методы lift и unlift не вычисляют исходные функции дважды при каждом вызове - runWith позволяет эффективно объединять частичные функции с условно применимыми действиями

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

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

функция обратного вызова

x

аргумент функции

Возвращает

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

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

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

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

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

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

V2

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

Source
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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def compose[A](g: A => K): A => R

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

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

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

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

функция A => T1

Возвращает

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

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

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

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

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

перебираемая последовательность для добавления.

Возвращает

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

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

Source
def concat[B >: (K, V)](suffix: IterableOnce[B]): CC[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
def copyToArray[B >: (K, V)](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Source
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

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

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

Type parameters
B

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

Value parameters
p

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

that

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

Returns

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

Inherited from IterableOnceOps

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

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

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

Value parameters
p

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

Returns

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

Inherited from IterableOnceOps

Source
def default(key: K): V

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

Value parameters
key

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

Inherited from MapOps

Source
def drop(n: Int): C

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

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

Value parameters
n

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

Returns

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

Inherited from IterableOps

Source
def dropRight(n: Int): C

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

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

Value parameters
n

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

Returns

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

Inherited from IterableOps

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

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

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

Value parameters
p

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

Returns

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

Inherited from IterableOps

Source
def elementWise: ElementWiseExtractor[A, B]

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

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

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

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

Value parameters
p

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

Returns

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

Inherited from IterableOnceOps

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

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

Value parameters
p

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

Returns

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

Inherited from IterableOps

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

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

Value parameters
pred

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

Returns

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

Inherited from IterableOps

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

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

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

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

Value parameters
p

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

Returns

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

Inherited from IterableOnceOps

Source
def firstKey: K

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

Inherited from SortedMapOps

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

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

Value parameters
f

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

Returns

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

Inherited from MapOps

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

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

Например:

def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")

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

// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)

// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)

// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)

// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
Параметры типа
B

тип элементов возвращаемого набора данных.

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

Тип результирующего набора данных будет определяться типом итерируемого набора данных. Например:

val xs = List(
           Set(1, 2, 3),
           Set(1, 2, 3)
         ).flatten
// xs == List(1, 2, 3, 1, 2, 3)

val ys = Set(
           List(1, 2, 3),
           List(3, 2, 1)
         ).flatten
// ys == Set(1, 2, 3)
Параметры типа
B

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Source
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

Source
def groupMap[K, B](key: ((K, V)) => K)(f: ((K, V)) => B): Map[K, CC[B]]

Разделяет эту итерируемую коллекцию на карту итерируемых коллекций согласно функции-дискриминатору key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.

Эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.

case class User(name: String, age: Int)

def namesByAge(users: Seq[User]): Map[Int, Seq[String]] =
  users.groupMap(_.age)(_.name)

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

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

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

K

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

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

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

key

функция-дискриминатор.

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

Source
def groupMapReduce[K, B](key: ((K, V)) => K)(f: ((K, V)) => B)(reduce: (B, B) => B): Map[K, B]

Разделяет эту итерируемую коллекцию на карту согласно функции-дискриминатору key. Все значения с одинаковым дискриминатором затем преобразуются функцией f и затем сводятся к одному значению с помощью функции reduce.

Эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.

def occurrences[A](as: Seq[A]): Map[A, Int] =
  as.groupMapReduce(identity)(_ => 1)(_ + _)

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

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

Source
def grouped(size: Int): Iterator[C]

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

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

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

Возвращает

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

См. также

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

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

Source
def head: A

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Source
def headOption: Option[A]

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

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

Возвращает

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

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

Source
def init: C

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

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

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

Source
def inits: Iterator[C]

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

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

Возвращает

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

Пример

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

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

Source
def isDefinedAt(key: K): Boolean

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

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

ключ.

Возвращает

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

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

Source
def isEmpty: Boolean

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

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

Возвращает

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

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

Source
override def isTraversableAgain: Boolean

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

Возвращает

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

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

Source
def iterableFactory: IterableFactory[CC]

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

Примечание

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

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

Source
def iterator: Iterator[A]

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает последний ключ набора.

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

Источник
def lastOption: Option[A]

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

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

Возвращает

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

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

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

Преобразует эту частичную функцию в простую функцию, возвращающую 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): CC[B]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

Параметры значения
ключ

Указанный ключ.

Возвращает

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
final def mkString: String

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

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

Возвращает

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

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

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

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

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

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

строка завершения.

sep

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

start

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

Возвращает

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

Пример

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

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

Source
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[A]

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

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

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

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

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

Source
def partitionMap[A1, A2](f: ((K, V)) => Either[A1, A2]): (CC[A1], CC[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): C

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

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

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

until

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

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

Source
def rangeFrom(from: K): C

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

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

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

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

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

Создаёт проецирование диапазона этого набора. Любые изменения в проецировании диапазона обновит этот набор и наоборот.

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

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

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

until

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

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

Source
def rangeTo(to: K): C

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

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

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

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

Source
def rangeUntil(until: K): C

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

Возвращает результат применения бинарного оператора ко всем элементам этой коллекции слева направо.

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

Объект типа Option, содержащий результат применения оператора reduce op ко всем элементам, если коллекция не пуста, и None в противном случае.

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

Возвращает результат применения бинарного оператора ко всем элементам этой коллекции справа налево.

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

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

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

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

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

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

Возвращает

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

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

Исходный код
protected def reversed: Iterable[A]

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

Исходный код
def runWith[U](action: V => U): A => 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): CC[B]

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

Пример:

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

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

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

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

z

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

Возвращает

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

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

Source
def size: Int

Размер этой коллекции.

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

Возвращает

количество элементов в этой коллекции.

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

Source
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

Source
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

Source
final def sizeIs: SizeCompareOps

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

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

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

Source
def slice(from: Int, until: Int): C

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

from <= indexOf(x) < until

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

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

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

until

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

Возвращает

итерируемую коллекцию, содержащую элементы, начиная с индекса from, и до (но не включая) индекса until этой итерируемой коллекции.

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

Source
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

Source
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

Source
def sortedMapFactory: SortedMapFactory[CC]

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

Примечание

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

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

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

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

Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

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

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

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

Возвращает

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

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

Source
override def splitAt(n: Int): (C, C)

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

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

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

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

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

Возвращает

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

Определяющие классы 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

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

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

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

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

Возвращает

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

Унаследовано от 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

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

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

тип возвращаемого значения f

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

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

Возвращает

Такая же логическая коллекция, как и эта

Определяющие классы 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

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

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

Source
def toIndexedSeq: IndexedSeq[A]

Inherited from IterableOnceOps

Source
def toList: List[A]

Inherited from IterableOnceOps

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

Inherited from IterableOnceOps

Source
def toSeq: Seq[A]

Возвращает

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

Inherited from IterableOnceOps

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

Inherited from IterableOnceOps

Source
override def toString(): String

Возвращает строковое представление объекта.

По умолчанию представление зависит от платформы.

Возвращает

строковое представление объекта.

Классы определений Function1 -> Any
Inherited from Function1

Source
def toVector: Vector[A]

Inherited from IterableOnceOps

Source
def transpose[B](implicit asIterable: ((K, V)) => Iterable[B]): CC[CC[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

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

Inherited from IterableOps

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

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

Inherited from PartialFunction

Source
def unsorted: Map[K, V]

Inherited from SortedMapOps

Source
def unzip[A1, A2](implicit asPair: ((K, V)) => (A1, A2)): (CC[A1], CC[A2])

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

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

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

A2

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

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

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

Возвращает

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

Inherited from IterableOps

Source
def unzip3[A1, A2, A3](implicit asTriple: ((K, V)) => (A1, A2, A3)): (CC[A1], CC[A2], CC[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

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

Возвращает

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

Inherited from IterableOps

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

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

Inherited from MapOps

Source
def values: Iterable[V]

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

Возвращает

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

Inherited from MapOps

Source
def valuesIterator: Iterator[V]

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

Возвращает

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

Inherited from MapOps

Source
def valuesIteratorFrom(start: K): Iterator[V]

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

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

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

Inherited from SortedMapOps

Source
override def view: MapView[K, V]

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

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

Source
def zip[B](that: IterableOnce[B]): CC[(A, B)]

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

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

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

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

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

Возвращает

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

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

Source
def zipAll[A1 >: (K, V), B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

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

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

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

thatElem

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

thisElem

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

Возвращает

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

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

Source
def zipWithIndex: CC[(A, Int)]

Объединяет эту итерируемую коллекцию с её индексами.

Возвращает

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

Пример

List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

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

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/SortedMapFactoryDefaults.html

Spec-Zone.ru

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