Spec-Zone.ru › Scala 3.1

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

Объект-компаньон • Исходный код

трейт Seq[+A] extends Iterable[A] с Seq[A] с SeqOps[A, Seq, Seq[A]] с IterableFactoryDefaults[A, Seq]

Надтипы
трейт SeqOps[A, Seq, Seq[A]]
трейт Seq[A]
трейт Equals
трейт SeqOps[A, Seq, Seq[A]]
трейт PartialFunction[Int, A]
трейт Int => A
трейт Iterable[A]
трейт Iterable[A]
трейт IterableFactoryDefaults[A, Seq]
трейт IterableOps[A, Seq, Seq[A]]
трейт IterableOnceOps[A, Seq, Seq[A]]
трейт IterableOnce[A]
класс Object
трейт Matchable
класс Any
Известные подтипы
30 типов
класс AbstractSeq[A]
класс ArraySeq[A]
класс ofBoolean
класс ofByte
класс ofChar
класс ofDouble
класс ofFloat
класс ofInt
класс ofLong
класс ofRef[T]
класс ofShort
класс ofUnit
класс LazyList[A]
класс List[A]
класс ::[A]
объект Nil.type
класс NumericRange[T]
класс Exclusive[T]
класс Inclusive[T]
класс Queue[A]
класс Range
класс Exclusive
класс Inclusive
класс Stream[A]
класс Cons[A]
объект Empty.type
класс Vector[A]
класс WrappedString
трейт IndexedSeq[A]
трейт LinearSeq[A]

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

Исходный код
переопределён def iterableFactory: SeqFactory[Seq]

Определяющие классы Seq -> Iterable -> Iterable -> IterableOps

Исходный код
окончательный переопределён def toSeq: Seq[A]

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

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

Исходный код@inline
окончательный def ++[B >: A](suffix: IterableOnce[B]): Seq[B]

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

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

Исходный код@inline
окончательный переопределён def ++:[B >: A](prefix: IterableOnce[B]): Seq[B]

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

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

Исходный код@inline
окончательный def +:[B >: A](elem: B): Seq[B]

Псевдоним для prepended.

Обратите внимание, что операторы с окончанием «:» являются правоассоциативными (см. пример). Мемоническое правило для +: против :+: двоеточие ставится со стороны коллекции.

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

Исходный код@inline
окончательный def :+[B >: A](elem: B): Seq[B]

Псевдоним для appended.

Обратите внимание, что операторы с окончанием «:» являются правоассоциативными (см. пример). Мемоническое правило для +: против :+: двоеточие ставится со стороны коллекции.

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

Исходный код@inline
окончательный def :++[B >: A](suffix: IterableOnce[B]): Seq[B]

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

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

Исходный код@inline
окончательный 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
окончательный 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 addString(b: 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 , в которую были добавлены элементы.

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def appended[B >: A](elem: B): Seq[B]

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

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

Пример:

scala> val a = List(1)
a: List[Int] = List(1)

scala> val b = a :+ 2
b: List[Int] = List(1, 2)

scala> println(a)
List(1)
Параметры типа
B

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

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

элемент, добавляемый в конец

Возвращает

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

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

Источник
def appendedAll[B >: A](suffix: IterableOnce[B]): Seq[B]

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

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

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

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

объект Iterable для добавления.

Возвращает

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

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

Источник@throws(scala.throws.$lessinit$greater$default$1[scala.IndexOutOfBoundsException])
def apply(i: Int): A

Получение элемента по указанному индексу. Эта операция предоставляется для удобства в Seq. Не следует предполагать её эффективность, если у вас нет IndexedSeq.

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

Источник
def applyOrElse[A1 <: Int, B1 >: A](x: A1, default: A1 => B1): B1

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

Обратите внимание, что выражение 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

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

Возвращает

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

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

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

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

Источник
def collect[B](pf: PartialFunction[A, B]): Seq[B]

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

Источник
def combinations(n: Int): Iterator[Seq[A]]

Итерирует по сочетаниям. _Сочетание_ длины n — это подпоследовательность исходной последовательности, элементы которой взяты в порядке. Таким образом, "xy" и "yy" — это сочетания длины 2 "xyy", но "yx" — нет. Если существует более одного способа сгенерировать ту же подпоследовательность, будет возвращён только один вариант.

Например, "xyyy" имеет три различных способа генерации "xy" в зависимости от того, какой первый, второй или третий "y" выбран. Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран — деталь реализации, которая не определена.

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

Возвращает

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

Пример

"abbbc".combinations(2) = Iterator(ab, ac, bb, bc)

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

Исходный код
def compose[R](k: PartialFunction[R, Int]): PartialFunction[R, A]

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

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

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

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

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

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

Возвращает

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

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

Исходный код@unspecialized
def compose[A](g: A => Int): A => A

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

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

тип, к которому может быть применена функция g

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

функция A => T1

Возвращает

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

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

Исходный код@inline
final override def concat[B >: A](suffix: IterableOnce[B]): Seq[B]

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

Исходный код
def contains[A1 >: A](elem: A1): Boolean

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

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

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

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

Возвращает

true если в этой последовательности есть элемент, равный (как определяется ==) elem, false в противном случае.

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

Исходный код
def containsSlice[B >: A](that: Seq[B]): Boolean

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

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

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

последовательность для проверки

Возвращает

true если эта последовательность содержит фрагмент с теми же элементами, что и that, в противном случае false.

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

Исходный код
def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

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

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

start

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

xs

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

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

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

Примечание

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

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

Источник@deprecatedOverriding("Это должно всегда передавать вызов в 3-аргументную версию этого метода", since = "2.13.4")
def copyToArray[B >: A](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

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

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

Примечание

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

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

Источник@deprecatedOverriding("Это должно всегда передавать вызов в 3-аргументную версию этого метода", since = "2.13.4")
def copyToArray[B >: A](xs: Array[B]): Int

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

that

другой набор

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

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

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

Source
def corresponds[B](that: Seq[B])(p: (A, B) => Boolean): Boolean

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

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

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

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

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

that

другая последовательность

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

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

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

Source
def count(p: A => Boolean): Int

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

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

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

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

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

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

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

Source
def diff[B >: A](that: Seq[B]): Seq[A]

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

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

последовательность элементов для удаления

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

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

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

Source
def distinct: Seq[A]

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

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

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

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

Source
def distinctBy[B](f: A => B): Seq[A]

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

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

тип элементов после преобразования f

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

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

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

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

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

Source
def drop(n: Int): Seq[A]

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

Source
def dropRight(n: Int): Seq[A]

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

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

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

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

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

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

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

Source
def dropWhile(p: A => Boolean): Seq[A]

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

Источник
def elementWise: ElementWiseExtractor[Int, A]

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

Пример
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
  case firstChar.unlift.elementWise(c0, c1, c2) =>
    println(s"$c0, $c1, $c2") // Output: f, b, b
}
Наследуется от PartialFunction

Источник
override def empty: Seq[A]

Классы-определения IterableFactoryDefaults -> IterableOps
Наследуется от IterableFactoryDefaults

Источник
def endsWith[B >: A](that: Iterable[B]): Boolean

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

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

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

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

Возвращает

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

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

Источник
override def equals(o: Any): Boolean

Классы-определения Seq -> Equals -> Any
Наследуется от Seq

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

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

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

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

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

Возвращает

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

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

Источник
def filter(pred: A => Boolean): Seq[A]

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

Источник
def filterNot(pred: A => Boolean): Seq[A]

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def findLast(p: A => Boolean): Option[A]

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

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

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

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

Возвращает

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

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

Исходный код
def flatMap[B](f: A => IterableOnce[B]): Seq[B]

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

Исходный код
def flatten[B](implicit asIterable: A => IterableOnce[B]): Seq[B]

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

Исходный код
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Исходный код
def foldLeft[B](z: B)(op: (B, A) => B): B

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Исходный код
def foldRight[B](z: B)(op: (A, B) => B): B

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Исходный код
def forall(p: A => Boolean): Boolean

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

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

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

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

Возвращает

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

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

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

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

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

Исходный код
protected def fromSpecific(coll: IterableOnce[A]): Seq[A]

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

Исходный код
def groupBy[K](f: A => K): Map[K, Seq[A]]

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

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

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

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

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

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

Возвращает

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

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть, каждый ключ k связан с итерируемой коллекцией тех элементов x, для которых f(x) равно k.

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

Исходный код
def groupMap[K, B](key: A => K)(f: A => B): Map[K, Seq[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: A => K)(f: A => 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[Seq[A]]

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

Параметры
size

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

Возвращает

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

См. также

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

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

Source
override def hashCode(): Int

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

Source
def head: A

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Source
def headOption: Option[A]

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

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

Возвращает

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

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

Source@deprecatedOverriding("Override indexOf(elem, from) instead - indexOf(elem) calls indexOf(elem, 0)", "2.13.0")
def indexOf[B >: A](elem: B): Int

Находит индекс первого вхождения некоторого значения в этой последовательности.

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

тип элемента elem.

Параметры
elem

значение элемента для поиска.

Возвращает

индекс >= 0 первого элемента этой последовательности, равного (как определяется ==) elem, или -1, если такового нет.

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

Source
def indexOf[B >: A](elem: B, from: Int): Int

Находит индекс первого вхождения некоторого значения в этой последовательности после или в заданном стартовом индексе.

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

тип элемента elem.

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

значение элемента для поиска.

from

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

Возвращает

индекс >= from первого элемента этой последовательности, который равен (как определяется ==) значению elem, или -1, если такой элемент отсутствует.

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

Исходный код@deprecatedOverriding("Override indexOfSlice(that, from) вместо этого - indexOfSlice(that) вызывает indexOfSlice(that, 0)", "2.13.0")
def indexOfSlice[B >: A](that: Seq[B]): Int

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

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

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

последовательность для проверки

Возвращает

первый индекс >= 0 такой, что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности that, или -1, если такая подпоследовательность отсутствует.

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

Исходный код
def indexOfSlice[B >: A](that: Seq[B], from: Int): Int

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

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

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

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

that

последовательность для проверки

Возвращает

первый индекс >= from такой, что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности that, или -1, если такая подпоследовательность отсутствует.

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

Исходный код@deprecatedOverriding("Override indexWhere(p, from) вместо этого - indexWhere(p) вызывает indexWhere(p, 0)", "2.13.0")
def indexWhere(p: A => Boolean): Int

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

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

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

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

Возвращает

индекс >= 0 первого элемента этой последовательности, удовлетворяющего предикату p, или -1, если такой элемент отсутствует.

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

Исходный код
def indexWhere(p: A => Boolean, from: Int): Int

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

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

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

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

p

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

Возвращает

индекс >= from первого элемента этой последовательности, удовлетворяющего предикату p, или -1, если такой элемент отсутствует.

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

Исходный код
def indices: Range

Создает диапазон всех индексов этой последовательности.

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

Возвращает

значение Range от 0 до значения, на единицу меньшего, чем длина этой последовательности.

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

Исходный код
def init: Seq[A]

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

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

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

Исходный код
def inits: Iterator[Seq[A]]

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

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

Возвращает

итератор по всем начальным подпоследовательностям этого набора итераций

Пример

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

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

Исходный код
def intersect[B >: A](that: Seq[B]): Seq[A]

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

Параметры
that

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

Возвращает

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

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

Исходный код
def isDefinedAt(idx: Int): Boolean

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

Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].

Параметры
idx

индекс для проверки

Возвращает

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

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

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

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

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

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

Исходный код
def iterator: Iterator[A]

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

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

Исходный код
def knownSize: Int

Возвращает

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

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

Исходный код
def last: A

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

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

class="attributes">
Возвращает

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

Исключения
NoSuchElementException

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

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

Источник
def lastIndexOf[B >: A](elem: B, end: Int): Int

Находит индекс последнего вхождения некоторого значения в этой последовательности до или на заданном индексе конца.

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

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

тип элемента elem.

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

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

end

индекс конца.

Возвращает

индекс <= end последнего элемента этой последовательности, который равен (определяется по ==) elem, или -1, если такого элемента нет.

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

Источник@deprecatedOverriding("Override lastIndexOfSlice(that, end) instead - lastIndexOfSlice(that) calls lastIndexOfSlice(that, Int.MaxValue)", "2.13.0")
def lastIndexOfSlice[B >: A](that: Seq[B]): Int

Находит последний индекс, где эта последовательность содержит заданную последовательность в качестве среза.

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

class="attributes">
Параметры значения
that

последовательность для проверки

Возвращает

последний индекс, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности that, или -1, если такая подпоследовательность отсутствует.

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

Источник
def lastIndexOfSlice[B >: A](that: Seq[B], end: Int): Int

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

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

class="attributes">
Параметры значения
end

индекс конца

that

последовательность для проверки

Возвращает

последний индекс <= end такой, что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности that, или -1, если такая подпоследовательность отсутствует.

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

Источник@deprecatedOverriding("Override lastIndexWhere(p, end) instead - lastIndexWhere(p) calls lastIndexWhere(p, Int.MaxValue)", "2.13.0")
def lastIndexWhere(p: A => Boolean): Int

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

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

class="attributes">
Параметры значения
p

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

Возвращает

индекс последнего элемента этой последовательности, удовлетворяющего предикату p, или -1, если такой элемент отсутствует.

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

Источник
def lastIndexWhere(p: A => Boolean, end: Int): Int

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

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

class="attributes">
Параметры значения
p

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

Возвращает

индекс <= end последнего элемента этой последовательности, удовлетворяющего предикату p, или -1, если такой элемент отсутствует.

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

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

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

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

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

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

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

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, Seq[A]]

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

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

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

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

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

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

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

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

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

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

Длина (количество элементов) последовательности. size является псевдонимом для length в коллекциях Seq.

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

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

Сравнивает длину этой последовательности с размером другого Iterable.

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

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

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

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

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

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

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

Источник
def lengthCompare(len: Int): Int

Сравнивает длину этой последовательности со значением теста.

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

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

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

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

x <  0       if this.length <  len
x == 0       if this.length == len
x >  0       if this.length >  len

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

См. также

lengthIs

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

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

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

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

this.lengthIs < len     // this.lengthCompare(len) < 0
this.lengthIs <= len    // this.lengthCompare(len) <= 0
this.lengthIs == len    // this.lengthCompare(len) == 0
this.lengthIs != len    // this.lengthCompare(len) != 0
this.lengthIs >= len    // this.lengthCompare(len) >= 0
this.lengthIs > len     // this.lengthCompare(len) > 0
Унаследовано от SeqOps

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

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

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

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

См. также

Function.unlift

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

Источник
def map[B](f: A => B): Seq[B]

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

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

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

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

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

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

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

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

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

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

Исключения
UnsupportedOperationException

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

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

Источник
def maxBy[B](f: A => B)(implicit cmp: Ordering[B]): A

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

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

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

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

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

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

f

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

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

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

Исключения
UnsupportedOperationException

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

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

Источник
def maxByOption[B](f: A => B)(implicit cmp: Ordering[B]): Option[A]

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

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

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

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

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

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

f

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

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

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

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

Источник
def maxOption[B >: A](implicit ord: Ordering[B]): Option[A]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def minBy[B](f: A => B)(implicit cmp: Ordering[B]): A

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

Source
def minOption[B >: A](implicit ord: Ordering[B]): Option[A]

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

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

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

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

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

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

Возвращает

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

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

Source@inline
final def mkString: String

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

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

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

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

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

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

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

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

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

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

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

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

Пример

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

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

Источник
final def mkString(start: String, sep: String, end: String): String

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

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

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

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

sep

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

start

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

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

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

Пример

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

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

Источник
protected def newSpecificBuilder: Builder[A, Seq[A]]

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

Источник@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

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

true если набор содержит по меньшей мере один элемент, false в противном случае.

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

Источник
def orElse[A1 <: Int, B1 >: A](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

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

тип аргумента резервной функции

B1

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

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

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

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

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

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

Источник
def padTo[B >: A](len: Int, elem: B): Seq[B]

Копия этой последовательности с добавленными элементами значения до достижения заданной целевой длины.

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

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

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

значение отступа

len

целевая длина

Возвращает

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

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

Источник
def partition(p: A => Boolean): (Seq[A], Seq[A])

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

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

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

Источник
def partitionMap[A1, A2](f: A => Either[A1, A2]): (Seq[A1], Seq[A2])

Применяет функцию f к каждому элементу итерируемой коллекции и возвращает пару итерируемых коллекций: первая содержит значения, возвращённые f, которые были обернуты в scala.util.Left, вторая — значения, обернутые в scala.util.Right.

Пример:

val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
 case i: Int => Left(i)
 case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

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

A2

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

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

функция 'разделения', отображающая элементы этой итерируемой коллекции на scala.util.Either

Возвращает

пару итерируемых коллекций: первая содержит значения, возвращённые f, которые были обернуты в scala.util.Left, вторая — значения, обернутые в scala.util.Right.

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

Источник
def patch[B >: A](from: Int, other: IterableOnce[B], replaced: Int): Seq[B]

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

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

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

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

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

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

other

последовательность замены

replaced

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

Возвращает

новую последовательность, состоящую из всех элементов этой последовательности за исключением того, что replaced элементы, начиная с from, заменяются всеми элементами other.

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

Источник
def permutations: Iterator[Seq[A]]

Итерирует по различным перестановкам.

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

Возвращает

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

Пример

"abb".permutations = Iterator(abb, bab, bba)

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

Источник
def prepended[B >: A](elem: B): Seq[B]

Копия последовательности с добавленным в начало элементом.

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

Пример:

scala> val x = List(1)
x: List[Int] = List(1)

scala> val y = 2 +: x
y: List[Int] = List(2, 1)

scala> println(x)
List(1)
Параметры типа
B

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

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

элемент, добавляемый в начало

Возвращает

новая последовательность, состоящая из value и всех элементов этой последовательности.

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

Источник
def prependedAll[B >: A](prefix: IterableOnce[B]): Seq[B]

Как и :++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.

Отличается от :++ тем, что тип результирующей коллекции определяется правым операндом, а не левым. Мnemonic: двоеточие стоит со стороны нового типа COLлекции.

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

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

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

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

Возвращает

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

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

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

Перемножает элементы этой коллекции.

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def reduceRight[B >: A](op: (A, B) => B): B

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

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

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

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

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

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

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

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

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def reverse: Seq[A]

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

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

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

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

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

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

Источник
def reverseIterator: Iterator[A]

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

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

Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.

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

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

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

Источник
protected def reversed: Iterable[A]

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

Источник
def runWith[U](action: A => U): Int => 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 sameElements[B >: A](that: IterableOnce[B]): Boolean

Являются ли элементы этого набора такими же (и в том же порядке), как у that?

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

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

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

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

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

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

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

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

z

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

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

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

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

Источник
def scanLeft[B](z: B)(op: (B, A) => B): Seq[B]

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

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

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

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

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

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

Пример:

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

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

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

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

z

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

Возвращает

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

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

Исходный код
def search[B >: A](elem: B, from: Int, to: Int)(implicit ord: Ordering[B]): SearchResult

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

Перед вызовом набор должен быть отсортирован с использованием того же Ordering ; в противном случае результаты будут неопределенными.

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

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

from

индекс, с которого начинается поиск.

ord

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

to

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

Возвращает

значение Found, содержащее индекс, соответствующий элементу в наборе, или InsertionPoint, где элемент был бы вставлен, если элемент отсутствует в наборе.

См. также

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

Примечание

если to <= from, пространство поиска пусто, и возвращается InsertionPoint в from

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

Исходный код
def search[B >: A](elem: B)(implicit ord: Ordering[B]): SearchResult

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

Перед вызовом набор должен быть отсортирован с использованием того же Ordering ; в противном случае результаты будут неопределенными.

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

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

ord

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

Возвращает

значение Found, содержащее индекс, соответствующий элементу в наборе, или InsertionPoint, где элемент был бы вставлен, если элемент отсутствует в наборе.

См. также

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

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

Исходный код
def segmentLength(p: A => Boolean, from: Int): Int

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

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

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

индекс, с которого начинается поиск.

p

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

Возвращает

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

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

Исходный код
final def segmentLength(p: A => Boolean): Int

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

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

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

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

Возвращает

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

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

Исходный код
final override def size: Int

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

Исходный код
final override def sizeCompare(that: Iterable[_]): Int

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

Исходный код
final override def sizeCompare(otherSize: Int): Int

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

Исходный код@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): Seq[A]

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

Исходный код
def sliding(size: Int, step: Int): Iterator[Seq[A]]

Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разделения их, как это делается в 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[Seq[A]]

Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разделения их, как это делается в 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 sortBy[B](f: A => B)(implicit ord: Ordering[B]): Seq[A]

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

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

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

Сортировка устойчива. То есть, элементы, которые равны (как определено ord.compare), появляются в отсортированной последовательности в том же порядке, что и в исходной.

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

целевой тип преобразования f, и тип, где определено упорядочение ord.

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

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

ord

упорядочение, предполагаемое в области B.

Возвращает

последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с упорядочением, где x < y , если ord.lt(f(x), f(y)).

См. также

scala.math.Ordering

Пример
val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
Унаследовано от SeqOps

Исходный код
def sortWith(lt: (A, A) => Boolean): Seq[A]

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

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

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

Сортировка устойчива. То есть, элементы, которые равны (как определено lt), появляются в отсортированной последовательности в том же порядке, что и в исходной.

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

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

Возвращает

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

Пример
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
Унаследовано от SeqOps

Исходный код
def sorted[B >: A](implicit ord: Ordering[B]): Seq[A]

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

Сортировка устойчива. То есть, элементы, которые равны (как определено ord.compare), появляются в отсортированной последовательности в том же порядке, что и в исходной.

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

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

Возвращает

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

См. также

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

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

Исходный код
def span(p: A => Boolean): (Seq[A], Seq[A])

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

Исходный код
override def splitAt(n: Int): (Seq[A], Seq[A])

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

Исходный код
def startsWith[B >: A](that: IterableOnce[B], offset: Int): Boolean

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

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

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

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

that

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

Возвращает

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

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

Исходный код
def stepper[S <: Stepper[_]](implicit shape: StepperShape[A, 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 >: A](implicit num: Numeric[B]): B

Вычисляет сумму элементов этой коллекции.

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

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

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

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

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

Возвращает

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

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

Исходный код
def tail: Seq[A]

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

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

Исходный код
def tails: Iterator[Seq[A]]

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

END_OF_DOCUMENT_MARKER
Возвращает

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

Пример

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

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

Исходный код
def take(n: Int): Seq[A]

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

Исходный код
def takeRight(n: Int): Seq[A]

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

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

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

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

Возвращает

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

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

Исходный код
def takeWhile(p: A => Boolean): Seq[A]

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

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

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

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

Возвращает

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

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

Исходный код
override def tapEach[U](f: A => U): Seq[A]

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

Исходный код
def to[C1](factory: Factory[A, C1]): C1

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

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

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

Исходный код
def toArray[B >: A : ClassTag]: Array[B]

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

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

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

Исходный код@inline
final def toBuffer[B >: A]: Buffer[B]

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

Исходный код
def toIndexedSeq: IndexedSeq[A]

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

Исходный код
def toList: List[A]

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

Исходный код
def toMap[K, V](implicit ev: A <:< (K, V)): Map[K, V]

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

Исходный код
def toSet[B >: A]: Set[B]

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

Исходный код
override def toString(): String

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

Исходный код
def toVector: Vector[A]

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

Исходный код
def transpose[B](implicit asIterable: A => Iterable[B]): Seq[Seq[B]]

Транспонирует этот итерируемый набор итерируемых наборов в итерируемый набор итерируемых наборов.

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
IllegalArgumentException

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

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

Исходный код
def unapply(a: Int): Option[A]

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

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

Исходный код
def unzip[A1, A2](implicit asPair: A => (A1, A2)): (Seq[A1], Seq[A2])

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

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

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

A2

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

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

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

Возвращает

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

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

Исходный код
def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3)): (Seq[A1], Seq[A2], Seq[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

Источник
def updated[B >: A](index: Int, elem: B): Seq[B]

Копия этого набора с одним заменённым элементом.

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

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

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

элемент замены

index

позиция замены

Возвращает

новый набор, являющийся копией этого набора с элементом в позиции index заменённым на elem.

Исключения
IndexOutOfBoundsException

если index не удовлетворяет 0 <= index < length. В случае ленивого набора это исключение может быть выброшено позже или вообще не выброшено (если конец набора никогда не оценивается).

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

Источник
override def view: SeqView[A]

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

Источник
def withFilter(p: A => Boolean): WithFilter[A, Seq]

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

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

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

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

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

Возвращает

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

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

Источник
def zip[B](that: IterableOnce[B]): Seq[(A, B)]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

thatElem

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

thisElem

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

Возвращает

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

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

Источник
def zipWithIndex: Seq[(A, Int)]

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

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

Spec-Zone.ru

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