Spec-Zone.ru › Scala 3.1

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

Исходный код

final case class ::[+A](head: A, var next: Список[A]) extends Список[A]

Подтипы
31 тип
Тракт Product
Класс Список[A]
Тракт DefaultSerializable
Тракт Serializable
Тракт StrictOptimizedSeqOps[A, Список, Список[A]]
Тракт StrictOptimizedLinearSeqOps[A, Список, Список[A]]
Тракт StrictOptimizedSeqOps[A, Список, Список[A]]
Тракт StrictOptimizedIterableOps[A, Список, Список[A]]
Тракт LinearSeq[A]
Тракт LinearSeqOps[A, Список, Список[A]]
Тракт LinearSeq[A]
Тракт LinearSeqOps[A, Список, Список[A]]
Класс AbstractSeq[A]
Тракт Seq[A]
Тракт SeqOps[A, Список, Список[A]]
Тракт Iterable[A]
Класс AbstractSeq[A]
Тракт Seq[A]
Тракт Equals
Тракт SeqOps[A, Список, Список[A]]
Тракт PartialFunction[Int, A]
Тракт Int => A
Класс AbstractIterable[A]
Тракт Iterable[A]
Тракт IterableFactoryDefaults[A, Список]
Тракт IterableOps[A, Список, Список[A]]
Тракт IterableOnceOps[A, Список, Список[A]]
Тракт IterableOnce[A]
Класс Object
Тракт Matchable
Класс Any

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

Исходный код
override def headOption: Some[A]

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

Исходный код
override def tail: Список[A]

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

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

Исходный код@inline
final def ++[B >: A](suffix: IterableOnce[B]): Список[B]

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

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

Исходный код@inline
final override def ++:[B >: A](prefix: IterableOnce[B]): Список[B]

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

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

Исходный код@inline
final def +:[B >: A](elem: B): Список[B]

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

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

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

Исходный код@inline
final def :+[B >: A](elem: B): Список[B]

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

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

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

Исходный код@inline
final def :++[B >: A](suffix: IterableOnce[B]): Список[B]

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

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

Исходный код
def ::[B >: A](elem: B): Список[B]

Добавляет элемент в начало этого списка.

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

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

Возвращает

список, который содержит x в качестве первого элемента и продолжает с этим списком. Пример:

1 :: List(2, 3) = List(2, 3).::(1) = List(1, 2, 3)
Наследованный от Список

Исходный код
def :::[B >: A](prefix: Список[B]): Список[B]

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

Пример:

List(1, 2) ::: List(3, 4) = List(3, 4).:::(List(1, 2)) = List(1, 2, 3, 4)
Параметры значения
prefix

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

Возвращает

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

Наследованный от Список

Исходный код@inline
final def addString(b: StringBuilder): StringBuilder

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

Пример:

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

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

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

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

Возвращает

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

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

Исходный код@inline
final def addString(b: StringBuilder, sep: String): StringBuilder

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

Пример:

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

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

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

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

sep

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

Возвращает

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

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

Source
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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
override def appended[B >: A](elem: B): List[B]

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

Source
override def appendedAll[B >: A](suffix: IterableOnce[B]): List[B]

Классы определений List -> StrictOptimizedSeqOps -> SeqOps
Унаследовано от List

Source@throws(scala.throws.$lessinit$greater$default$1[scala.IndexOutOfBoundsException])
override def apply(n: Int): A

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

Source
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

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

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

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

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

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

END_OF_DOCUMENT_MARKER

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

Возвращает

Итератор, который перебирает возможные комбинации 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]): List[B]

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

Источник
final override def contains[A1 >: A](elem: A1): Boolean

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

Источник
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("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: A](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

Источник
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 count(p: A => Boolean): Int

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

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

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

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

Возвращает

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

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

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

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

Source
def distinct: List[A]

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

Возвращает

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

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

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

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

Source
override def drop(n: Int): List[A]

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

Source
override def dropRight(n: Int): List[A]

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

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

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

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

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

Source
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

Source
override def empty: List[A]

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

Source
def endsWith[B >: A](that: Iterable[B]): Boolean

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

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

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

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

Возвращает

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

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

Source
override def equals(o: Any): Boolean

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

Source
final override def exists(p: A => Boolean): Boolean

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

Source
override def filter(p: A => Boolean): List[A]

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

Source
override def filterNot(p: A => Boolean): List[A]

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

Source
final override def find(p: A => Boolean): Option[A]

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

Source
override def findLast(p: A => Boolean): Option[A]

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

Source
final override def flatMap[B](f: A => IterableOnce[B]): List[B]

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

Source
override def flatten[B](implicit toIterableOnce: A => IterableOnce[B]): Список[B]

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
override def foldLeft[B](z: B)(op: (B, A) => B): B

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

Source
final override def foldRight[B](z: B)(op: (A, B) => B): B

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

Source
final override def forall(p: A => Boolean): Boolean

Описание классов Список -> LinearSeqOps -> IterableOnceOps
Унаследовано от Список

Source@inline
final override def foreach[U](f: A => U): Единица

Описание классов Список -> LinearSeqOps -> IterableOnceOps
Унаследовано от Список

Source
protected def fromSpecific(coll: IterableOnce[A]): Список[A]

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

Source
def groupBy[K](f: A => K): Карта[K, Список[A]]

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

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

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

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

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

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

Возвращает

Карта, где ключи соответствуют итерируемым наборам данных, так что выполняется следующее инвариантное условие:

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

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

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

Source
def groupMap[K, B](key: A => K)(f: A => B): Map[K, Список[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): Итератор[Список[A]]

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

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

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

Возвращает

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

См. также

scala.collection.Итератор, метод grouped

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

Source
override def hashCode(): Int

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

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("Замените на 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("Переопределите indexWhere(p, from) вместо этого - indexWhere(p) вызывает indexWhere(p, 0)", "2.13.0")
def indexWhere(p: A => Boolean): Int

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

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

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

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

Возвращает

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

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

Источник
override def indexWhere(p: A => Boolean, from: Int): Int

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

Источник
def indices: Range

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

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

Возвращает

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

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

Источник
def init: List[A]

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

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

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

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

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

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

Возвращает

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

Пример

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

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

Источник
override def intersect[B >: A](that: Seq[B]): List[A]

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

Источник
override def isDefinedAt(x: Int): Boolean

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

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

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

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

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

Источник
override def iterableFactory: SeqFactory[List]

Классы определений List -> LinearSeq -> LinearSeq -> Seq -> Iterable -> Seq -> Iterable -> IterableOps
Унаследовано от List

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

Классы определений StrictOptimizedLinearSeqOps -> LinearSeqOps -> IterableOnce
Унаследовано от StrictOptimizedLinearSeqOps

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

Возвращает

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

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

Источник
override def last: A

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

Source
def lastIndexOf[B >: A](elem: B, end: Int): Int

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

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

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

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

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

значение искомого элемента.

end

конечный индекс.

Возвращает

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

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

Source@deprecatedOverriding("Override lastIndexOfSlice(that, end) instead - lastIndexOfSlice(that) calls lastIndexOfSlice(that, Int.MaxValue)", "2.13.0")
def lastIndexOfSlice[B >: A](that: Seq[B]): Int

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

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

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

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

Возвращает

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

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

Source
def lastIndexOfSlice[B >: A](that: Seq[B], end: Int): Int

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

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

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

конечный индекс

that

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

Возвращает

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

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

Source@deprecatedOverriding("Override lastIndexWhere(p, end) instead - lastIndexWhere(p) calls lastIndexWhere(p, Int.MaxValue)", "2.13.0")
def lastIndexWhere(p: A => Boolean): Int

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

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

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

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

Возвращает

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

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

Source
override def lastIndexWhere(p: A => Boolean, end: Int): Int

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

Source
def lastOption: Option[A]

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

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

Возвращает

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

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

Source
def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, ::[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

Source
final override def length: Int

Классы определений List -> LinearSeqOps -> SeqOps
Унаследовано от List

Source
final override def lengthCompare(len: Int): Int

Классы определений List -> LinearSeqOps -> SeqOps
Унаследовано от List

Source
override def lengthCompare(that: Iterable[_]): Int

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

Source@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

Source
def lift: Int => Option[A]

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

Возвращает

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

См. также

Function.unlift

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

Source
final override def map[B](f: A => B): List[B]

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

Source@inline
final def mapConserve[B >: A <: AnyRef](f: A => B): List[B]

Создаёт новый список, применяя функцию ко всем элементам этого списка. Подобно xs map f, но возвращает xs без изменений, если функция f отображает все элементы на самих себя (как определено eq).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

Исходный код
final def mkString(start: String, sep: String, end: String): String

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Исходный код
protected def newSpecificBuilder: Builder[A, List[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

Исходный код
override def padTo[B >: A](len: Int, elem: B): List[B]

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

Исходный код
override def partition(p: A => Boolean): (List[A], List[A])

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

Исходный код
override def partitionMap[A1, A2](f: A => Either[A1, A2]): (List[A1], List[A2])

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

Исходный код
override def patch[B >: A](from: Int, other: IterableOnce[B], replaced: Int): List[B]

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

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

Итерация по уникальным перестановкам.

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

Возвращает

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

Пример

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

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

Исходный код
override def prepended[B >: A](elem: B): List[B]

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

Исходный код
override def prependedAll[B >: A](prefix: IterableOnce[B]): List[B]

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

Исходный код
def product[B >: A](implicit num: Numeric[B]): B

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def productElementNames: Iterator[String]

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

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

Исходный код
def productIterator: Iterator[Any]

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

Возвращает

в реализации по умолчанию, Iterator[Any]

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

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

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

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

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

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

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

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

Возвращает

Результат применения оператора reduce 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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
final override def reverse: List[A]

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

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

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

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

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

Возвращает

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

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

Источник
def reverse_:::[B >: A](prefix: List[B]): List[B]

Добавляет элементы заданного списка в обратном порядке перед этим списком. xs reverse_::: ys эквивалентно xs.reverse ::: ys, но более эффективно.

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

префикс для обратного порядка и последующего добавления в начало

Возвращает

соединение инвертированного префикса и текущего списка.

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

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

Источник
override def sameElements[B >: A](that: IterableOnce[B]): Boolean

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Источник
override def scanLeft[B](z: B)(op: (B, A) => B): Список[B]

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

Источник
def scanRight[B](z: B)(op: (A, B) => B): Список[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: Целое, to: Целое)(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

Источник
override def segmentLength(p: A => Boolean, from: Целое): Целое

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

Источник
final def segmentLength(p: A => Boolean): Целое

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

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

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

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

Возвращает

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

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

Источник
final override def size: Целое

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

Источник
final override def sizeCompare(that: Iterable[_]): Целое

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

Источник
final override def sizeCompare(otherSize: Целое): Целое

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

Источник
override def slice(from: Целое, until: Целое): Список[A]

Пример
// Given a list
val letters = List('a','b','c','d','e')
// `slice` returns all elements beginning at index `from` and afterwards,
// up until index `until` (excluding index `until`.)
letters.slice(1,3) // Returns List('b','c')
Классы определений Список -> IterableOps -> IterableOnceOps
Унаследовано от Список

Source
def sliding(size: Int, step: Int): Iterator[List[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

Source
def sliding(size: Int): Iterator[List[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

Source
def sortBy[B](f: A => B)(implicit ord: Ordering[B]): List[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

Source
def sortWith(lt: (A, A) => Boolean): List[A]

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

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

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

Сортировка устойчива. То есть элементы, которые равны (как определено lt ), появляются в отсортированной последовательности в том же порядке, что и в оригинале.

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

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

Возвращает

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

Пример
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
Унаследовано от SeqOps

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

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

Источник@inline
final override def span(p: A => Boolean): (List[A], List[A])

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

Источник
override def splitAt(n: Int): (List[A], List[A])

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

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

Source
def sum[B >: A](implicit num: Numeric[B]): B

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

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

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

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

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

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

Возвращает

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

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

Source
override def tails: Iterator[List[A]]

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

Source
override def take(n: Int): List[A]

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

Source
override def takeRight(n: Int): List[A]

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

Source@inline
final override def takeWhile(p: A => Boolean): List[A]

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

Source
override def tapEach[U](f: A => U): List[A]

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

Source
def to[C1](factory: Factory[A, C1]): C1

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

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

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

Source
def toArray[B >: A : ClassTag]: Array[B]

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

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

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

Source@inline
final def toBuffer[B >: A]: Buffer[B]

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

Source
def toIndexedSeq: IndexedSeq[A]

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

Source
final override def toList: List[A]

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

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

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

Source
final override def toSeq: ::[A]

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

Source
def toSet[B >: A]: Set[B]

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

Source
override def toString(): String

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

Source
def toVector: Vector[A]

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

Source
def transpose[B](implicit asIterable: A => Iterable[B]): List[List[B]]

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
IllegalArgumentException

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

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

Source
def unapply(a: Int): Option[A]

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

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

Source
override def unzip[A1, A2](implicit asPair: A => (A1, A2)): (List[A1], List[A2])

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

Исходный код
override def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3)): (Список[A1], Список[A2], Список[A3])

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

Исходный код
override def updated[B >: A](index: Целое, elem: B): Список[B]

Классы определений Список -> StrictOptimizedSeqOps -> SeqOps
Унаследовано от Список

Исходный код
override def view: SeqView[A]

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

Исходный код
def withFilter(p: A => Boolean): WithFilter[A, Список]

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

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

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

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

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

Возвращает

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

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

Исходный код
override def zip[B](that: IterableOnce[B]): Список[(A, B)]

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

Исходный код
def zipAll[A1 >: A, B](that: Iterable[B], thisElem: A1, thatElem: B): Список[(A1, B)]

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

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

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

thatElem

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

thisElem

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

Возвращает

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

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

Исходный код
override def zipWithIndex: Список[(A, Целое)]

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

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

Spec-Zone.ru

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