Spec-Zone.ru › Scala 3.1

Объект scala.collection.immutable.Nil

Исходный код

case object Nil extends Список[Ничего]

Супертипы
34 типа
Трейт Singleton
Трейт Product
Трейт Mirror
Трейт Product
Класс Список[Ничего]
Трейт DefaultSerializable
Трейт Serializable
Трейт StrictOptimizedSeqOps[Ничего, Список, Список[Ничего]]
Трейт StrictOptimizedLinearSeqOps[Ничего, Список, Список[Ничего]]
Трейт StrictOptimizedSeqOps[Ничего, Список, Список[Ничего]]
Трейт StrictOptimizedIterableOps[Ничего, Список, Список[Ничего]]
Трейт LinearSeq[Ничего]
Трейт LinearSeqOps[Ничего, Список, Список[Ничего]]
Трейт LinearSeq[Ничего]
Трейт LinearSeqOps[Ничего, Список, Список[Ничего]]
Класс AbstractSeq[Ничего]
Трейт Seq[Ничего]
Трейт SeqOps[Ничего, Список, Список[Ничего]]
Трейт Iterable[Ничего]
Класс AbstractSeq[Ничего]
Трейт Seq[Ничего]
Трейт Equals
Трейт SeqOps[Ничего, Список, Список[Ничего]]
Трейт PartialFunction[Целое, Ничего]
Трейт Целое => Ничего
Класс AbstractIterable[Ничего]
Трейт Iterable[Ничего]
Трейт IterableFactoryDefaults[Ничего, Список]
Трейт IterableOps[Ничего, Список, Список[Ничего]]
Трейт IterableOnceOps[Ничего, Список, Список[Ничего]]
Трейт IterableOnce[Ничего]
Класс Объект
Трейт Matchable
Класс Any
Тип Self
Nil.type

Унаследованные типы

Исходный код
type MirroredElemLabels = EmptyTuple

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

Исходный код
type MirroredElemTypes = EmptyTuple

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

Исходный код
type MirroredLabel <: Строка

Имя типа

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

Исходный код
type MirroredMonoType = Singleton

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

Исходный код
type MirroredType = Singleton

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

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

Исходный код
override def head: Ничего

Классы-предки LinearSeqOps -> IterableOps

Исходный код
override def headOption: None.type

Классы-предки LinearSeqOps -> IterableOps

Исходный код
override def init: Ничего

Классы-предки IterableOps

Исходный код
override def iterator: Итератор[Ничего]

Классы-предки StrictOptimizedLinearSeqOps -> LinearSeqOps -> IterableOnce

Исходный код
override def knownSize: Целое

Классы-предки IterableOnce

Исходный код
override def last: Ничего

Классы-предки Список -> LinearSeqOps -> IterableOps

Исходный код
override def tail: Ничего

Классы-предки LinearSeqOps -> IterableOps

Исходный код
override def unzip[A1, A2](implicit asPair: Ничего => (A1, A2)): (Список[A1], Список[A2])

Классы-предки StrictOptimizedIterableOps -> IterableOps

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

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

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

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

Source@inline
final override def ++:[B](prefix: IterableOnce[B]): Список[B]

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

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

Source@inline
final def +:[B](elem: B): Список[B]

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

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

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

Source@inline
final def :+[B](elem: B): Список[B]

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

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

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

Source@inline
final def :++[B](suffix: IterableOnce[B]): Список[B]

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

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

Source
def ::[B](elem: B): Список[B]

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

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

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

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

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

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

Source
def :::[B](prefix: Список[B]): Список[B]

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

Пример:

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

Элементы списка для добавления в начало.

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

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

Унаследовано от Список

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

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

Пример:

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

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

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

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

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

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

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

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

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

Пример:

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

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

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
Параметры значения
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[Nothing, C]): PartialFunction[ЦелоеЧисло, C]

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

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

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

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

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

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

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

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

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

Source
override def andThen[C](k: Nothing => C): PartialFunction[ЦелоеЧисло, C]

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

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

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

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

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

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

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

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

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

Source
override def appended[B](elem: B): Список[B]

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

Источник
override def appendedAll[B](suffix: IterableOnce[B]): Список[B]

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

Источник@throws(scala.throws.$lessinit$greater$default$1[scala.IndexOutOfBoundsException])
override def apply(n: Целое): Nothing

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

Источник
def applyOrElse[A1 <: Целое, B1](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: Любой): Булево

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

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

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

Источник
def collectFirst[B](pf: PartialFunction[Nothing, B]): Некоторые[B]

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

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

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

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

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

Возвращает

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

Пример

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

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

Источник
def combinations(n: Целое): Итератор[Список[Nothing]]

Итерация по сочетаниям. _Сочетание_ длиной 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, Целое]): PartialFunction[R, Nothing]

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

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

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

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

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

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

Возвращает

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

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

Источник@unspecialized
def compose[A](g: A => Целое): A => Nothing

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

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

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

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

функция A => T1

Возвращает

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

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

Источник@inline
final override def concat[B](suffix: IterableOnce[B]): Список[B]

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

Источник
final override def contains[A1](elem: A1): Булево

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

Источник
def containsSlice[B](that: Seq[B]): Булево

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

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

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

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

Возвращает

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

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

Источник
def copyToArray[B](xs: Массив[B], start: Целое число, len: Целое число): Целое число

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

Источник
override def corresponds[B](that: Последовательность[B])(p: (Nothing, B) => Булево): Булево

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

Источник
def corresponds[B](that: IterableOnce[B])(p: (Nothing, B) => Булево): Булево

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

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

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

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

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

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

that

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

Возвращает

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

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

Источник
def count(p: Nothing => Булево): Целое число

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

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

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

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

Возвращает

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

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

Источник
override def diff[B](that: Последовательность[B]): Список[Nothing]

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

Источник
def distinct: Список[Nothing]

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

Возвращает

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

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

Источник
override def distinctBy[B](f: Nothing => B): Список[Nothing]

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

Источник
override def drop(n: Целое число): Список[Nothing]

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

Источник
override def dropRight(n: Целое число): Список[Nothing]

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

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

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

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

Definition Classes StrictOptimizedLinearSeqOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedLinearSeqOps

Source
def elementWise: ElementWiseExtractor[Int, Nothing]

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

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

Source
override def empty: List[Nothing]

Definition Classes IterableFactoryDefaults -> IterableOps
Inherited from IterableFactoryDefaults

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

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

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

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

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

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

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

Inherited from SeqOps

Source
override def equals(o: Any): Boolean

Definition Classes List -> Seq -> Equals -> Any
Inherited from List

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

Definition Classes List -> LinearSeqOps -> IterableOnceOps
Inherited from List

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

Definition Classes List -> StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from List

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

Definition Classes List -> StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from List

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

Definition Classes List -> LinearSeqOps -> IterableOnceOps
Inherited from List

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

Definition Classes LinearSeqOps -> SeqOps
Inherited from LinearSeqOps

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

Definition Classes List -> StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from List

Source
override def flatten[B](implicit toIterableOnce: Nothing => IterableOnce[B]): List[B]

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

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

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

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

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

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

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

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

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

z

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

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

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

Inherited from IterableOnceOps

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

Definition Classes LinearSeqOps -> IterableOnceOps
Inherited from LinearSeqOps

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

Definition Classes Список -> IterableOnceOps
Inherited from Список

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

Definition Classes Список -> LinearSeqOps -> IterableOnceOps
Inherited from Список

Исходный код@inline
final override def foreach[U](f: Nothing => U): Unit

Definition Classes Список -> LinearSeqOps -> IterableOnceOps
Inherited from Список

Исходный код
def fromProduct(p: Product): MirroredMonoType

Inherited from Singleton

Исходный код
protected def fromSpecific(coll: IterableOnce[Nothing]): Список[Nothing]

Inherited from IterableFactoryDefaults

Исходный код
def groupBy[K](f: Nothing => K): Map[K, Список[Nothing]]

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

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

Type parameters
K

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

Value parameters
f

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

Returns

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

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

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

Inherited from IterableOps

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

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

Type parameters
B

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

K

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

Value parameters
f

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

key

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

Inherited from IterableOps

Исходный код
def groupMapReduce[K, B](key: Nothing => K)(f: Nothing => 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)(_ + _)

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

Inherited from IterableOps

Исходный код
def grouped(size: Int): Iterator[Список[Nothing]]

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

Value parameters
size

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

Returns

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

See also

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

Inherited from IterableOps

Исходный код
override def hashCode(): Int

Definition Classes Seq -> Any
Inherited from Seq

Исходный код@deprecatedOverriding("Override indexOf(elem, from) instead - indexOf(elem) calls indexOf(elem, 0)", "2.13.0")
def indexOf[B](elem: B): Int

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

Type parameters
B

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

Value parameters
elem

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

Returns

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

Inherited from SeqOps

Исходный код
def indexOf[B](elem: B, from: Int): Int

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

Type parameters
B

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

Value parameters
elem

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

from

стартовый индекс

Returns

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

Inherited from SeqOps

Исходный код@deprecatedOverriding("Override indexOfSlice(that, from) instead - indexOfSlice(that) calls indexOfSlice(that, 0)", "2.13.0")
def indexOfSlice[B](that: Seq[B]): Int

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

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

Value parameters
that

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

Returns

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

Inherited from SeqOps

Source
def indexOfSlice[B](that: Seq[B], from: Int): Int

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

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

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

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

that

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

Возвращает

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

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

Source@deprecatedOverriding("Override indexWhere(p, from) instead - indexWhere(p) calls indexWhere(p, 0)", "2.13.0")
def indexWhere(p: Nothing => Boolean): Int

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

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

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

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

Возвращает

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

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

Source
override def indexWhere(p: Nothing => Boolean, from: Int): Int

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

Source
def indices: Range

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

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

Возвращает

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

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

Source
def inits: Iterator[List[Nothing]]

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

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

Возвращает

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

Пример

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

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

Source
override def intersect[B](that: Seq[B]): List[Nothing]

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

Source
override def isDefinedAt(x: Int): Boolean

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

Source
final override def isEmpty: Boolean

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

Source
override def isTraversableAgain: Boolean

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

Source
override def iterableFactory: SeqFactory[List]

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

Source
def lastIndexOf[B](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](that: Seq[B]): Int

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

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

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

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

Возвращает

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

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

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

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

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

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

индекс конца

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Source
def lastOption: Option[Nothing]

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

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

Возвращает

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

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

Source
def lazyZip[B](that: Iterable[B]): LazyZip2[Nothing, B, Nil.type]

Аналогично 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[Nothing]

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

Возвращает

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

См. также

Function.unlift

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def max[B](implicit ord: Ordering[B]): Nothing

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def maxBy[B](f: Nothing => B)(implicit cmp: Ordering[B]): Nothing

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Source
protected def newSpecificBuilder: Builder[Nothing, Список[Nothing]]

Inherited from IterableFactoryDefaults

Source@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

Returns

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

Inherited from IterableOnceOps

Source
def orElse[A1 <: Int, B1](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

Type parameters
A1

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

B1

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

Value parameters
that

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

Returns

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

Inherited from PartialFunction

Source
override def padTo[B](len: Int, elem: B): Список[B]

Definition Classes StrictOptimizedSeqOps -> SeqOps
Inherited from StrictOptimizedSeqOps

Source
override def partition(p: Nothing => Boolean): (Список[Nothing], Список[Nothing])

Definition Classes Список -> StrictOptimizedIterableOps -> IterableOps
Inherited from Список

Source
override def partitionMap[A1, A2](f: Nothing => Either[A1, A2]): (Список[A1], Список[A2])

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
override def patch[B](from: Int, other: IterableOnce[B], replaced: Int): Список[B]

Definition Classes StrictOptimizedSeqOps -> SeqOps
Inherited from StrictOptimizedSeqOps

Source
def permutations: Итератор[Список[Nothing]]

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

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

Returns

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

Пример

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

Inherited from SeqOps

Source
override def prepended[B](elem: B): Список[B]

Definition Classes Список -> StrictOptimizedSeqOps -> SeqOps
Inherited from Список

Source
override def prependedAll[B](prefix: IterableOnce[B]): List[B]

Definition Classes Список -> StrictOptimizedSeqOps -> SeqOps
Inherited from Список

Source
def product[B](implicit num: Numeric[B]): B

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

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

Type parameters
B

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

Value parameters
num

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

Returns

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

Inherited from IterableOnceOps

Source
def productElementNames: Итератор[Строка]

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

Inherited from Product

Source
def productIterator: Итератор[Любой]

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

Returns

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

Inherited from Product

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

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

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

Type parameters
B

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

Value parameters
op

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

Returns

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

Throws
UnsupportedOperationException

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

Inherited from IterableOnceOps

Source
def reduceLeft[B](op: (B, Ничто) => B): B

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

Пример:

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

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

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

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

z

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

Возвращает

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

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

Источник
def search[B](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](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: Nothing => Boolean, from: Целое): Целое

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

Источник
final def segmentLength(p: Nothing => 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: Целое): Список[Nothing]

Пример
// 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
Унаследовано от Список

Источник
def sliding(size: Целое, step: Целое): Итератор[Список[Nothing]]

Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от разбиения на части, как в 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[List[Nothing]]

Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от их разбиения, как это делается в 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: Nothing => B)(implicit ord: Ordering[B]): List[Nothing]

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

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

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

Сортировка стабильна. То есть, элементы, которые равны (как определяется 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: (Nothing, Nothing) => Boolean): List[Nothing]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Источник
def startsWith[B](that: IterableOnce[B], offset: Int): Boolean

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

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

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

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

that

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

Возвращает

true если последовательность that содержится в этом наборе данных по индексу offset, в противном случае false.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
def toIndexedSeq: IndexedSeq[Nothing]

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

Source
final override def toList: List[Nothing]

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

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

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

Source
final override def toSeq: Nil.type

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

Source
def toSet[B]: Set[B]

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

Source
override def toString(): String

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

Source
def toVector: Vector[Nothing]

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

Source
def transpose[B](implicit asIterable: Nothing => 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

Исходный код
def unapply(a: Int): Option[Nothing]

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

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

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

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

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

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

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

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

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

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

Примечание: разница между 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]): Список[(Nothing, B)]

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

Исходный код
def zipAll[A1, 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: Список[(Nothing, Int)]

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

Spec-Zone.ru

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