Spec-Zone.ru › Scala 3.2

Класс ArrayDeque.ArrayDeque

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

class ArrayDeque[A] extends AbstractBuffer[A] with IndexedBuffer[A] with IndexedSeqOps[A, ArrayDeque, ArrayDeque[A]] with StrictOptimizedSeqOps[A, ArrayDeque, ArrayDeque[A]] with IterableFactoryDefaults[A, ArrayDeque] with ArrayDequeOps[A, ArrayDeque, ArrayDeque[A]] with Cloneable[ArrayDeque[A]] with DefaultSerializable

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

Добавление, вставка, удаление первого элемента, удаление последнего элемента и произвольный доступ (индексированный поиск и индексированная замена) занимают амортизированное постоянное время. В общем случае, удаление и вставка по i-му индексу имеют сложность O(min(i, n-i)), поэтому вставка и удаление с конца/начала быстры.

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

тип элементов в этой ArrayDeque.

Примечание

Подклассы должны переопределить защищённый метод ofArray, чтобы возвращать более специфический тип.

Надтипы
36 типов
Тракт DefaultSerializable
Тракт Serializable
Тракт ArrayDequeOps[A, ArrayDeque, ArrayDeque[A]]
Тракт StrictOptimizedSeqOps[A, ArrayDeque, ArrayDeque[A]]
Тракт StrictOptimizedIterableOps[A, ArrayDeque, ArrayDeque[A]]
Тракт IndexedBuffer[A]
Тракт IndexedSeq[A]
Тракт IndexedSeqOps[A, ArrayDeque, ArrayDeque[A]]
Тракт IndexedSeq[A]
Тракт IndexedSeqOps[A, ArrayDeque, ArrayDeque[A]]
Класс AbstractBuffer[A]
Тракт Buffer[A]
Тракт Shrinkable[A]
Тракт Growable[A]
Тракт Clearable
Класс AbstractSeq[A]
Тракт Seq[A]
Тракт SeqOps[A, ArrayDeque, ArrayDeque[A]]
Тракт Cloneable[ArrayDeque[A]]
Тракт Cloneable
Тракт Iterable[A]
Класс AbstractSeq[A]
Тракт Seq[A]
Тракт Equals
Тракт SeqOps[A, ArrayDeque, ArrayDeque[A]]
Тракт PartialFunction[Int, A]
Тракт Int => A
Класс AbstractIterable[A]
Тракт Iterable[A]
Тракт IterableFactoryDefaults[A, ArrayDeque]
Тракт IterableOps[A, ArrayDeque, ArrayDeque[A]]
Тракт IterableOnceOps[A, ArrayDeque, ArrayDeque[A]]
Тракт IterableOnce[A]
Класс Object
Тракт Matchable
Класс Any
Известные подтипы
Класс Queue[A]
Класс Stack[A]

Конструкторы

Исходный код
def this(initialSize: Int)

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

Исходный код
override def addAll(elems: IterableOnce[A]): ArrayDeque.this.type

Добавляет все элементы, полученные от IterableOnce, в эту очередь.

Параметры
xs

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

Возвращает

саму очередь.

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

Исходный код
def addOne(elem: A): ArrayDeque.this.type

Добавляет один элемент в эту очередь.

Параметры
elem

элемент для добавления.

Возвращает

саму очередь

Исходный код
def apply(idx: Int): A

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

Исходный код
def clear(): Unit

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

Исходный код
def clearAndShrink(size: Int): ArrayDeque.this.type

Очищает буфер и уменьшает его до размера @param size

Возвращает

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

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

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

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

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

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

Параметры
len

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

start

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

xs

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

Возвращает

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

Примечание

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

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

Исходный код
def ensureSize(hint: Int): Unit

Исходный код
def insert(idx: Int, elem: A): Unit

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

Параметры
elem

элемент для вставки.

idx

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

Исключения
IndexOutOfBoundsException

если индекс idx не находится в допустимом диапазоне 0 <= idx <= length.

Source
def insertAll(idx: Int, elems: IterableOnce[A]): Unit

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

Параметры
elems

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

idx

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

Исключения
IndexOutOfBoundsException

если idx находится за пределами допустимого диапазона.

Source
override def isEmpty: Boolean

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

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

Возвращает

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

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

Source
override def iterableFactory: SeqFactory[ArrayDeque]

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

Примечание

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

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

Source
override def knownSize: Int

Возвращает

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

Определяющие классы IndexedSeqOps -> Buffer -> Growable -> IterableOnce

Source
def length: Int

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

Source
def prepend(elem: A): ArrayDeque.this.type

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

Параметры
elem

элемент для добавления.

Возвращает

сам массив дек

Source
override def prependAll(elems: IterableOnce[A]): ArrayDeque.this.type

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

Source
def remove(idx: Int, count: Int): Unit

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

Параметры
count

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

idx

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

Исключения
IllegalArgumentException

если count < 0.

IndexOutOfBoundsException

если индекс idx не находится в допустимом диапазоне 0 <= idx <= length - count (с count > 0).

Source
def remove(idx: Int): A

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

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

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

Возвращает

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

Исходный код
def removeAll(): Seq[A]

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

Возвращает

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

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

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

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

Возвращает

последовательность всех элементов в очереди, для которых p возвращает true.

Исходный код
def removeAllReverse(): Seq[A]

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

Возвращает

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

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

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

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

p

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

Возвращает

первый элемент очереди, для которого p возвращает true

Исходный код
def removeHead(resizeInternalRepr: Boolean): A

Безопасно удаляет первый элемент (выбрасывает исключение при пустом наборе). См. также removeHeadOption()

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

Если установлено, то масштабирует внутреннее представление, чтобы освободить место время от времени

Возвращает
Исключения
NoSuchElementException

при пустом наборе

Исходный код
def removeHeadOption(resizeInternalRepr: Boolean): Option[A]

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

Если установлено, то масштабирует внутреннее представление, чтобы освободить место время от времени

Возвращает

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

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

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

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

Возвращает
END_OF_DOCUMENT_MARKER

Source
def removeLast(resizeInternalRepr: Boolean): A

Небезопасно удаляет последний элемент (бросает исключение при пустом массиве). Смотрите также removeLastOption()

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

Если установлено, изменяет внутреннее представление для возврата памяти время от времени

Возвращает
Выбрасывает
NoSuchElementException

при пустом массиве

Source
def removeLastOption(resizeInternalRepr: Boolean): Option[A]

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

Если установлено, изменяет внутреннее представление для возврата памяти время от времени

Возвращает

Source
def removeLastWhile(f: A => Boolean): Seq[A]

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

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

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

Возвращает

Source
override def stepper[S <: Stepper[_]](implicit shape: StepperShape[A, S]): S & EfficientSplit

Возвращает 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 могут быть преобразованы только в последовательные потоки.

Классы определений IndexedSeqOps -> IterableOnce

Source
override def subtractOne(elem: A): ArrayDeque.this.type

Удаляет один элемент из этого буфера по первому его вхождению. Если буфер не содержит этот элемент, он не изменяется.

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

элемент для удаления.

Возвращает

сам буфер

Классы определений Buffer -> Shrinkable

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

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

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

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

Source
def trimToSize(): Unit

Уменьшает емкость экземпляра ArrayDeque до текущего размера.

Source
def update(idx: Int, elem: A): Unit

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

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

новое значение.

idx

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

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

если индекс некорректен.

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

Source
final def ++[B >: A](suffix: IterableOnce[B]): CC[B]

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

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

Source
final override def ++:[B >: A](prefix: IterableOnce[B]): CC[B]

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

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

Source
final def ++=(xs: IterableOnce[A]): Growable.this.type

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

Наследованно от Growable

Source
final def ++=:(elems: IterableOnce[A]): Buffer.this.type

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

Наследованно от Buffer

Source
final def +:[B >: A](elem: B): CC[B]

Псевдоним для prepended. Примечание: операторы с окончанием двоеточием являются правоассоциативными (см. пример). Мнемоника для +: vs. :+: двоеточие ставится со стороны коллекции.

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

Source
final def +=(elem: A): Growable.this.type

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

Наследованно от Growable

Source
final def +=:(elem: A): Buffer.this.type

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

Наследованно от Buffer

Source
final def --=(xs: IterableOnce[A]): Shrinkable.this.type

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

Наследованно от Shrinkable

Source
final def -=(elem: A): Shrinkable.this.type

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

Наследованно от Shrinkable

Source
final def :+[B >: A](elem: B): CC[B]

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

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

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

Источник
final def :++[B >: A](suffix: IterableOnce[B]): CC[B]

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

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

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

Источник
final def addString(b: StringBuilder, sep: String): StringBuilder

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

Пример:

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

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

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

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

sep

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

Возвращает

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

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

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

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

Пример:

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

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

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

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

end

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

sep

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

start

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
final def append(elem: A): Buffer.this.type

Добавляет указанные элементы в этот буфер.

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

элемент для добавления.

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

Источник
final def appendAll(xs: IterableOnce[A]): Buffer.this.type

Добавляет элементы, содержащиеся в итерируемом объекте, в этот буфер.

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

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

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

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

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

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

Пример:

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

Метод, который должен вызываться из каждой хорошо спроектированной функции equals, которая может быть переопределена в подклассе. См. Программирование на Scala, Глава 28 для обсуждения и проектирования.

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

значение, проверяемое на возможность равенства

Возвращает

true, если эта инстанция может быть равна that, иначе false

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

Источник
final override def clone(): C

Создаёт копию объекта получателя.

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

Возвращает

копию объекта получателя.

Примечание

не указано SLS как члена AnyRef

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def compose[A](g: A => Int): A => R

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

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

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

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

функция A => T1

Возвращает

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

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

Источник
final override def concat[B >: A](suffix: IterableOnce[B]): CC[B]

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

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

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

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

итерируемая для добавления.

Возвращает

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

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

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

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

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

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

тестируемый элемент.

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def copySliceToArray(srcStart: Int, dest: Array[_], destStart: Int, maxItems: Int): Array[_]

Это более общая версия copyToArray — она также принимает srcStart в отличие от copyToArray. Она копирует maxItems элементов из этой коллекции с srcStart в dest с destStart. Если мы достигнем конца любой из коллекций, прежде чем сможем скопировать maxItems, мы просто прекратим копирование.

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

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

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

Исходный код
def corresponds[B](that: IterableOnce[B])(p: (A, B) => Boolean): Boolean

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def distinct: C

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

Возвращает

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

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

Исходный код
override def distinctBy[B](f: A => B): C

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

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

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

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

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

Возвращает

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

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

Source
override def drop(n: Int): C

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

Параметры
n

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

Возвращает

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

Классы IndexedSeqOps -> IterableOps -> IterableOnceOps
Наследуется от IndexedSeqOps

Source
def dropInPlace(n: Int): Buffer.this.type

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

Source
override def dropRight(n: Int): C

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

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

Классы StrictOptimizedIterableOps -> IterableOps
Наследуется от StrictOptimizedIterableOps

Source
def dropRightInPlace(n: Int): Buffer.this.type

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

Source
def dropWhile(p: A => Boolean): C

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

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

Параметры
p

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

Возвращает

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

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

Source
def dropWhileInPlace(p: A => Boolean): Buffer.this.type

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

Source
def elementWise: ElementWiseExtractor[A, B]

Возвращает объект экстрактора с методом 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: CC[A]

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

Возвращает

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

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

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

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

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

Параметры
that

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

Возвращает

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

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

Source
override def equals(o: Any): Boolean

Универсальный метод равенства, определенный в AnyRef.

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

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

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

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

Параметры
p

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

Возвращает

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

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

Source
override def filter(pred: A => Boolean): C

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

Параметры
p

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

Возвращает

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

Классы StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Наследуется от StrictOptimizedIterableOps

Source
def filterInPlace(p: A => Boolean): IndexedBuffer.this.type

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

Source
override def filterNot(pred: A => Boolean): C

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

Параметры
pred

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

Возвращает

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

Классы StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Наследуется от StrictOptimizedIterableOps

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def flatMap[B](f: A => IterableOnce[B]): CC[B]

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

Например:

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def flatMapInPlace(f: A => IterableOnce[A]): IndexedBuffer.this.type

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

Источник
override def flatten[B](implicit toIterableOnce: A => IterableOnce[B]): CC[B]

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

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

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

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

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

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

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

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

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

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

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

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

z

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

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

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

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

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

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

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

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

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

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

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

z

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

END_OF_DOCUMENT_MARKER
Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Исходный код
def groupMap[K, B](key: A => K)(f: A => B): Map[K, CC[B]]

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

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

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

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

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

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

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

K

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

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

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

key

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

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

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

Исходный код
override def grouped(n: Int): Iterator[C]

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

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

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

Возвращает

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

См. также

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

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

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

Вычисляет значение хэш-кода для объекта.

Алгоритм хэширования по умолчанию зависит от платформы.

Обратите внимание, что разрешается, чтобы у двух объектов были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)), но они не были равны (o1.equals(o2) возвращает false). Вырожденная реализация могла бы всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому, при переопределении этого метода, убедитесь, что поведение согласуется с методом equals.

Возвращает

значение хэш-кода для этого объекта.

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

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

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

Возвращает

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

Исключения
NoSuchElementException

если последовательность пуста.

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

from

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

p

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

Возвращает

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

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

Source
def indices: Range

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

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

Возвращает

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

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

Source
def init: C

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

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

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

Source
def inits: Iterator[C]

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

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

Возвращает

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

Пример

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

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

Source
override def intersect[B >: A](that: Seq[B]): C

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

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

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

Возвращает

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

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

Source
def isDefinedAt(idx: Int): Boolean

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

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

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

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

Возвращает

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

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

Source
override def isTraversableAgain: Boolean

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

Возвращает

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

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

Source
def iterator: Iterator[A]

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

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

Source
override def last: A

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

Возвращает

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

Исключения
NoSuchElementException

Если последовательность пуста.

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

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

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

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

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

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

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

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

end

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

индекс окончания

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
def lastOption: Option[A]

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

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

Возвращает

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

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

Source
def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, Iterable]

Аналогично 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 lengthCompare(that: Iterable[_]): Int

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

См. также

lengthIs

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

Source
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: A => Option[B]

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

Возвращает

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

См. также

Function.unlift

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

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

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

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

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

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

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

Возвращает

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

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

Source
def mapInPlace(f: A => A): IndexedSeqOps.this.type

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

значение заполнения

len

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

Возвращает

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

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

Источник
def padToInPlace(len: Int, elem: A): Buffer.this.type

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

Источник
override def partition(p: A => Boolean): (C, C)

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

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

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

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

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

Пример:

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

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

A2

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

other

заменяющая последовательность

replaced

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

Возвращает

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

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

Источник
def patchInPlace(from: Int, patch: IterableOnce[A], replaced: Int): IndexedBuffer.this.type

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

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

Перебирает все различные перестановки.

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

Возвращает

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

Пример

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

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

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

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

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

Пример:

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Параметры значения
op

Бинарный оператор, который должен быть ассоциативным.

Возвращает

значение опции, содержащее результат применения оператора объединения 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 protected def requireBounds(idx: Int, until: Int): Unit

Унаследовано от ArrayDequeOps

Исходный код
override def reverse: C

Возвращает новую последовательность с элементами в обратном порядке.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычислены.

Возвращает

Новая последовательность со всеми элементами этой последовательности в обратном порядке.

Классы-определения ArrayDequeOps -> SeqOps
Унаследовано от ArrayDequeOps

Исходный код
override def reverseIterator: Iterator[A]

Итератор, возвращающий элементы в обратном порядке.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.

Возвращает

итератор, возвращающий элементы этой последовательности в обратном порядке

Классы-определения IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Исходный код
override protected def reversed: Iterable[A]

Классы-определения IndexedSeqOps -> IterableOnceOps
Унаследовано от IndexedSeqOps

Исходный код
def runWith[U](action: A => U): A => Boolean

Комбинирует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для своих побочных эффектов; ее результат игнорируется.

Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно

if(pf isDefinedAt x) { action(pf(x)); true } else false

за исключением того, что runWith реализовано через applyOrElse и, следовательно, потенциально более эффективно. Использование runWith предотвращает двойную оценку соответствия шаблонам и условий для частичных функций-литералов.

Параметры значения
action

функция действия

Возвращает

функция, которая отображает аргументы x в isDefinedAt(x). Результирующая функция выполняет action(this(x)) там, где this определена.

См. также

applyOrElse.

Унаследовано от PartialFunction

Исходный код
def sameElements[B >: A](that: IterableOnce[B]): Boolean

Являются ли элементы этой коллекции такими же (и в том же порядке), как элементы that?

Унаследовано от SeqOps

Исходный код
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]

Вычисляет префиксное сканирование элементов коллекции.

Примечание: нейтральный элемент z может быть применен более одного раза.

Параметры типа
B

тип элементов результирующей коллекции

Параметры значения
op

ассоциативная операция для сканирования

z

нейтральный элемент для операции op

Возвращает

новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции

Унаследовано от IterableOps

Исходный код
override def scanLeft[B](z: B)(op: (B, A) => B): CC[B]

Создает итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры типа
B

тип элементов в результирующей коллекции

Параметры значения
op

бинарная операция, применяемая к промежуточному результату и элементу

z

начальное значение

Возвращает

коллекция со промежуточными результатами

Классы-определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Исходный код
def scanRight[B](z: B)(op: (A, B) => B): CC[B]

Создает коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — это последний кумулятивный результат.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Примечание: даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычислены.

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Параметры типа
B

тип элементов в результирующей коллекции

Параметры значения
op

бинарная операция, применяемая к промежуточному результату и элементу

z

начальное значение

Возвращает

коллекция со промежуточными результатами

Унаследовано от IterableOps

Исходный код
override def search[B >: A](elem: B, from: Int, to: Int)(implicit ord: Ordering[B]): SearchResult

Поиск в заданном интервале в этой отсортированной последовательности определенного элемента. Если эта последовательность является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.

Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.

Параметры значения
elem

элемент для поиска.

from

индекс, с которого начинается поиск.

ord

упорядочение, используемое для сравнения элементов.

to

индекс, следующий за тем, где заканчивается поиск.

Возвращает

значение Found, содержащее индекс, соответствующий элементу в последовательности, или InsertionPoint, где элемент был бы вставлен, если элемент не присутствует в последовательности.

См. также

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

Примечание

Если to <= from, пространство поиска пусто, и возвращается InsertionPoint в from

Классы-определения IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Исходный код
override 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

Классы определений IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Источник
def segmentLength(p: A => Boolean, from: Int): Int

Вычисляет длину самой длинной последовательности, начинающейся с некоторого индекса, элементы которой удовлетворяют некоторому предикату.

Примечание: может не завершаться для коллекций бесконечного размера.

Параметры значения
from

индекс, с которого начинается поиск.

p

предикат, используемый для проверки элементов.

Возвращает

длину самой длинной последовательности этой последовательности, начинающейся с индекса from, такая, что каждый элемент последовательности удовлетворяет предикату p.

Унаследовано от SeqOps

Источник
final def segmentLength(p: A => Boolean): Int

Вычисляет длину самой длинной последовательности, начинающейся с первого элемента, элементы которой удовлетворяют некоторому предикату.

Примечание: может не завершаться для коллекций бесконечного размера.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

длину самой длинной последовательности этой последовательности, начинающейся с первого элемента, такая, что каждый элемент последовательности удовлетворяет предикату p.

Унаследовано от SeqOps

Источник
final override def size: Int

Размер этой последовательности.

Примечание: не завершится для коллекций бесконечного размера.

Возвращает

количество элементов в этой последовательности.

Классы определений SeqOps -> IterableOnceOps
Унаследовано от SeqOps

Источник
final override def sizeCompare(that: Iterable[_]): Int

Сравнивает размер этой последовательности с размером другой Iterable.

Параметры значения
that

Iterable, размер которой сравнивается с размером этой последовательности.

Возвращает

Значение x, где

x <  0       if this.size <  that.size
x == 0       if this.size == that.size
x >  0       if this.size >  that.size

Метод, как реализован здесь, не вызывает size напрямую; его время выполнения составляет O(this.size min that.size) вместо O(this.size + that.size). Метод следует переопределить, если вычисление size является недорогим, а knownSize возвращает -1.

Классы определений SeqOps -> IterableOps
Унаследовано от SeqOps

Источник
final override def sizeCompare(otherSize: Int): Int

Сравнивает размер этой последовательности со значением-тестом.

Параметры значения
otherSize

значение-тест, которое сравнивается с размером.

Возвращает

Значение x, где

x <  0       if this.size <  otherSize
x == 0       if this.size == otherSize
x >  0       if this.size >  otherSize

Метод, как реализован здесь, не вызывает size напрямую; его время выполнения составляет O(size min otherSize) вместо O(size). Метод следует переопределить, если вычисление size является недорогим, а knownSize возвращает -1.

См. также

sizeIs

Классы определений SeqOps -> IterableOps
Унаследовано от SeqOps

Источник
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: Int, until: Int): C

Выбирает интервал элементов. Возвращаемая последовательность состоит из всех элементов x, которые удовлетворяют инварианту:

from <= indexOf(x) < until
Параметры значения
from

наименьший индекс для включения из этой последовательности.

until

наименьший индекс для ИСКЛЮЧЕНИЯ из этой последовательности.

Возвращает

последовательность, содержащую элементы, большие или равные индексу from и простирающиеся до (но не включая) индекса until этой последовательности.

Классы определений ArrayDequeOps -> IterableOps -> IterableOnceOps
Унаследовано от ArrayDequeOps

Источник
def sliceInPlace(start: Int, end: Int): Buffer.this.type

Унаследовано от Buffer

Источник
override def sliding(window: Int, step: Int): Iterator[C]

Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разделения их, как это делается в grouped.)

Возвращаемый итератор будет пустым при вызове на пустой коллекции. Последний элемент, который производит итератор, может быть меньше размера окна, когда исходная коллекция не исчерпана размером окна перед ним, и его последний элемент не пропущен шагом перед ним.

Параметры значения
size

количество элементов в группе

step

расстояние между первыми элементами последовательных групп

Возвращает

Итератор, производящий последовательности размера size, за исключением последнего элемента (который может быть единственным элементом), который будет меньше, если оставшихся элементов для группировки меньше size.

См. также

scala.collection.Iterator, метод sliding

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

Классы определений ArrayDequeOps -> IterableOps
Унаследовано от ArrayDequeOps

Источник
def sliding(size: Int): Iterator[C]

Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разделения их, как это делается в grouped.)

Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который будет производить исходную коллекцию как единственный элемент.

END_OF_DOCUMENT_MARKER
Параметры значения
size

количество элементов в группе

Возвращает

Итератор, генерирующий итерируемые коллекции размером size, за исключением непустой коллекции с менее чем size элементами, которая возвращает итератор, генерирующий исходную коллекцию в качестве единственного элемента.

См. также

scala.collection.Iterator, метод sliding

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

Унаследовано от IterableOps

Источник
def sortBy[B](f: A => B)(implicit ord: Ordering[B]): C

Сортирует эту последовательность в соответствии с упорядочением, полученным из преобразования неявного упорядочения с помощью функции преобразования.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Сортировка стабильна. То есть, элементы, равные (как определено 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 sortInPlace[B >: A]()(implicit ord: Ordering[B]): IndexedSeqOps.this.type

Сортирует эту изменяемую последовательность на месте в соответствии с упорядочением.

Параметры значения
ord

упорядочение, используемое для сравнения элементов.

Возвращает

изменённую входную изменяемую последовательность, отсортированную в соответствии с упорядочением ord.

См. также

scala.collection.SeqOps.sorted

Унаследовано от IndexedSeqOps

Источник
def sortInPlaceBy[B](f: A => B)(implicit ord: Ordering[B]): IndexedSeqOps.this.type

Сортирует эту изменяемую последовательность на месте в соответствии с упорядочением, полученным из преобразования неявного упорядочения с помощью функции преобразования.

См. также

scala.collection.SeqOps.sortBy

Унаследовано от IndexedSeqOps

Источник
def sortInPlaceWith(lt: (A, A) => Boolean): IndexedSeqOps.this.type

Сортирует эту изменяемую последовательность на месте в соответствии с функцией сравнения.

См. также

scala.collection.SeqOps.sortWith

Унаследовано от IndexedSeqOps

Источник
def sortWith(lt: (A, A) => Boolean): C

Сортирует эту последовательность в соответствии с функцией сравнения.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Сортировка стабильна. То есть, элементы, равные (как определено lt), появляются в отсортированной последовательности в том же порядке, что и в исходной.

Параметры значения
lt

функция сравнения, проверяющая, предшествует ли первый аргумент второму аргументу в желаемом упорядочении.

Возвращает

последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с функцией сравнения lt.

Пример
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
Унаследовано от SeqOps

Источник
def sorted[B >: A](implicit ord: Ordering[B]): C

Сортирует эту последовательность в соответствии с упорядочением.

Сортировка стабильна. То есть, элементы, равные (как определено ord.compare), появляются в отсортированной последовательности в том же порядке, что и в исходной.

Параметры значения
ord

упорядочение, используемое для сравнения элементов.

Возвращает

последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с упорядочением ord.

См. также

scala.math.Ordering Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Унаследовано от SeqOps

Источник
override def span(p: A => Boolean): (C, C)

Разбивает эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но, возможно, более эффективно), чем (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Параметры значения
p

предикат проверки

Возвращает

пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которого все удовлетворяют p, и остальной части этой итерируемой коллекции.

Классы определений StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
override def splitAt(n: Int): (C, C)

Разбивает эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно), чем (c take n, c drop n).

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Параметры значения
n

позиция, в которой нужно разделить.

Возвращает

пара итерируемых коллекций, состоящая из первых n элементов этой итерируемой коллекции и других элементов.

Классы определений IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
def startsWith[B >: A](that: IterableOnce[B], offset: Int): Boolean

Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.

Примечание: Если и получаемый объект this и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.

Параметры значения
offset

индекс, где ищется последовательность.

that

тестируемая последовательность

Возвращает

true если последовательность that содержится в этой последовательности по индексу offset, в противном случае false.

Унаследовано от SeqOps

Источник
def subtractAll(xs: IterableOnce[A]): Shrinkable.this.type

Удаляет все элементы, созданные итератором, из этого изменяемого набора.

Параметры значения
xs

итератор, генерирующий элементы для удаления.

Возвращает

сам изменяемый набор.

Унаследовано от Shrinkable

Источник
def sum[B >: A](implicit num: Numeric[B]): B

Суммирует элементы этого набора.

Примечание: не завершится для наборов бесконечного размера.

Параметры типа
B

тип результата оператора +.

Параметры значения
num

неявный параметр, определяющий набор числовых операций, который включает оператор +, используемый для вычисления суммы.

Возвращает

сумма всех элементов этого набора по отношению к оператору + в num.

Унаследовано от IterableOnceOps

Источник
def tail: C

Остальная часть набора без первого элемента.

Унаследовано от IterableOps

Источник
def tails: Iterator[C]

Итерируется по хвостам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, при этом промежуточные значения — результаты последовательных применений tail.

Возвращает

итератор по всем хвостам этого итерируемого набора

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

Унаследовано от IterableOps

Источник
override def take(n: Int): C

Выбирает первые n элементов.

Параметры значения
n

количество элементов, которые нужно взять из этой последовательности.

Возвращает

последовательность, содержащая только первые n элементов этой последовательности, или же всю последовательность, если она содержит меньше n элементов. Если n отрицательно, возвращает пустую последовательность.

Классы определения IndexedSeqOps -> IterableOps -> IterableOnceOps
Унаследовано от IndexedSeqOps

Источник
def takeInPlace(n: Int): Buffer.this.type

Унаследовано от Buffer

Источник
override def takeRight(n: Int): C

Коллекция, содержащая последние n элементы этого набора.

Примечание: даже при применении к представлению или ленивой коллекции все элементы будут принудительно вычисляться.

Классы определения StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
def takeRightInPlace(n: Int): Buffer.this.type

Унаследовано от Buffer

Источник
def takeWhile(p: A => Boolean): C

Берет самый длинный префикс элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Параметры значения
p

Предикат для проверки элементов.

Возвращает

самый длинный префикс этого итерируемого набора, элементы которого удовлетворяют предикату p.

Унаследовано от IterableOps

Источник
def takeWhileInPlace(p: A => Boolean): Buffer.this.type

Унаследовано от Buffer

Источник
override def tapEach[U](f: A => U): C

Применяет функцию побочного эффекта к каждому элементу в этом наборе. Строгие коллекции немедленно применяют f к своим элементам, а ленивые коллекции, такие как представления и LazyLists, применяют f к каждому элементу только при вычислении этого элемента, и каждый раз, когда этот элемент вычисляется.

Параметры типа
U

тип возвращаемого значения f

Параметры значения
f

функция для применения к каждому элементу в этом итерируемом наборе

Возвращает

тот же логический набор, что и этот

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
def to[C1](factory: Factory[A, C1]): C1

Используя фабрику коллекций factory, преобразуйте этот набор в соответствующее представление для текущего типа элемента A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Источник
final def toBuffer[B >: A]: Buffer[B]

Унаследовано от IterableOnceOps

Источник
def toIndexedSeq: IndexedSeq[A]

Унаследовано от IterableOnceOps

Источник
def toList: List[A]

Унаследовано от IterableOnceOps

Источник
def toMap[K, V](implicit ev: A <:< (K, V)): Map[K, V]

Унаследовано от IterableOnceOps

Источник
def toSeq: Seq[A]

Возвращает

Этот набор как Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Унаследовано от IterableOnceOps

Источник
def toSet[B >: A]: Set[B]

Inherited from IterableOnceOps

Source
override def toString(): String

Возвращает строковое представление объекта.

По умолчанию представление зависит от платформы.

Returns

строковое представление объекта.

Definition Classes Seq -> Function1 -> Iterable -> Any
Inherited from Seq

Source
def toVector: Vector[A]

Inherited from IterableOnceOps

Source
def transpose[B](implicit asIterable: A => Iterable[B]): CC[CC[B]]

Транспонирует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.

Тип результирующего множества будет определяться статическим типом итерируемого множества. Например:

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

Примечание: Даже при применении к представлению или ленивому множеству, элементы всегда будут принудительно вычисляться.

Type parameters
B

тип элементов каждого итерируемого множества.

Value parameters
asIterable

явное преобразование, которое утверждает, что тип элементов этого итерируемого множества является Iterable.

Returns

двумерное итерируемое множество итерируемых множеств, где n-я строка является n-м столбцом этого итерируемого множества.

Throws
IllegalArgumentException

если все множества в этом итерируемом множестве не имеют одинаковый размер.

Inherited from IterableOps

Source
def unapply(a: Int): Option[B]

Попытка извлечь B из A в выражении сопоставления с образцом.

Inherited from PartialFunction

Source
override def unzip[A1, A2](implicit asPair: A => (A1, A2)): (CC[A1], CC[A2])

Преобразует это итерируемое множество пар в два множества первой и второй половины каждой пары.

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Type parameters
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

Value parameters
asPair

явное преобразование, которое утверждает, что тип элементов этого итерируемого множества является парой.

Returns

пара итерируемых множеств, содержащих первую, соответственно вторую половину каждой пары элементов этого итерируемого множества.

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
override def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])

Преобразует это итерируемое множество троек в три множества первого, второго и третьего элементов каждой тройки.

val xs = Iterable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three),
//        Iterable(1, 2, 3))
Type parameters
A1

тип первого члена троек элементов

A2

тип второго члена троек элементов

A3

тип третьего члена троек элементов

Value parameters
asTriple

явное преобразование, которое утверждает, что тип элементов этого итерируемого множества является тройкой.

Returns

тройка итерируемых множеств, содержащих первый, второй, соответственно третий член каждой тройки элементов этого итерируемого множества.

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def updated[B >: A](index: Int, elem: B): CC[B]

Копия этого последовательности с одним заменённым элементом.

Type parameters
B

тип элементов возвращаемой последовательности.

Value parameters
elem

элемент замены

index

позиция замены

Returns

новая последовательность, которая является копией этой последовательности с элементом в позиции index заменённым на elem.

Throws
IndexOutOfBoundsException

если index не удовлетворяет условию 0 <= index < length. В случае ленивого множества это исключение может быть выброшено в более позднее время или вообще не выброшено (если конец множества никогда не оценивается).

Inherited from SeqOps

Source
override def view: IndexedSeqView[A]

Представление элементов этого множества.

Definition Classes IndexedSeqOps -> SeqOps -> IterableOps
Inherited from IndexedSeqOps

Source
def withFilter(p: A => Boolean): WithFilter[A, CC]

Создаёт нестрогий фильтр этого итерируемого множества.

Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новое множество, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.

Примечание: может возвращать разные результаты при разных запусках, если только тип базового множества не является упорядоченным.

Value parameters
p

предикат для проверки элементов.

Returns

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого итерируемого множества, которые удовлетворяют предикату p.

Inherited from IterableOps

Source
override def zip[B](that: IterableOnce[B]): CC[(A, B)]

Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества, объединяя соответствующие элементы в пары. Если одно из двух множеств длиннее другого, оставшиеся элементы игнорируются.

Type parameters
B

тип второй половины возвращаемых пар

Value parameters
that

Итерируемое множество, предоставляющее вторую половину каждой пары результата

Returns

новое итерируемое множество, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и that. Длина возвращаемого множества - минимальная из длин этого итерируемого множества и that.

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def zipAll[A1 >: A, B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов парами. Если одна из двух коллекций короче другой, элементы-заполнители используются для расширения более короткой коллекции до длины более длинной.

Параметры значения
that

итерируемая коллекция, предоставляющая вторую половину каждой пары результата

thatElem

элемент, используемый для заполнения результата, если that короче, чем эта итерируемая коллекция.

thisElem

элемент, используемый для заполнения результата, если эта итерируемая коллекция короче, чем that.

Возвращает

новая коллекция типа That, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и that. Длина возвращаемой коллекции — максимальная из длин этой итерируемой коллекции и that. Если эта итерируемая коллекция короче that, значения thisElem используются для дополнения результата. Если that короче этой итерируемой коллекции, значения thatElem используются для дополнения результата.

Унаследовано от IterableOps

Источник
override def zipWithIndex: CC[(A, Int)]

Объединяет эту итерируемую коллекцию с её индексами.

Возвращает

новая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой итерируемой коллекции, соединённых с их индексом. Индексы начинаются с 0.

Пример

List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Классы определения 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.2.0/scala/collection/mutable/ArrayDeque.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API