Spec-Zone.ru › Scala 3.2

Класс ArrayBuffer.ArrayBuffer

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

class ArrayBuffer[A] extends AbstractBuffer[A] with IndexedBuffer[A] with IndexedSeqOps[A, ArrayBuffer, ArrayBuffer[A]] with StrictOptimizedSeqOps[A, ArrayBuffer, ArrayBuffer[A]] with IterableFactoryDefaults[A, ArrayBuffer] with DefaultSerializable

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

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

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

См. также

"Обзор библиотеки коллекций Scala" раздел по Array Buffers для получения дополнительной информации.

Супертипы
35 типов
Тракт DefaultSerializable
Тракт Serializable
Тракт StrictOptimizedSeqOps[A, ArrayBuffer, ArrayBuffer[A]]
Тракт StrictOptimizedIterableOps[A, ArrayBuffer, ArrayBuffer[A]]
Тракт IndexedBuffer[A]
Тракт IndexedSeq[A]
Тракт IndexedSeqOps[A, ArrayBuffer, ArrayBuffer[A]]
Тракт IndexedSeq[A]
Тракт IndexedSeqOps[A, ArrayBuffer, ArrayBuffer[A]]
Класс AbstractBuffer[A]
Тракт Buffer[A]
Тракт Shrinkable[A]
Тракт Growable[A]
Тракт Clearable
Класс AbstractSeq[A]
Тракт Seq[A]
Тракт SeqOps[A, ArrayBuffer, ArrayBuffer[A]]
Тракт Cloneable[ArrayBuffer[A]]
Тракт Cloneable
Тракт Iterable[A]
Класс AbstractSeq[A]
Тракт Seq[A]
Тракт Equals
Тракт SeqOps[A, ArrayBuffer, ArrayBuffer[A]]
Тракт PartialFunction[Int, A]
Тракт Int => A
Класс AbstractIterable[A]
Тракт Iterable[A]
Тракт IterableFactoryDefaults[A, ArrayBuffer]
Тракт IterableOps[A, ArrayBuffer, ArrayBuffer[A]]
Тракт IterableOnceOps[A, ArrayBuffer, ArrayBuffer[A]]
Тракт IterableOnce[A]
Класс Object
Тракт Matchable
Класс Any

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

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

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

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

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

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

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

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

Возвращает

сам буфер массива.

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

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

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

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

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

Возвращает

сам буфер массива

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

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

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

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

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

Очищает буфер и уменьшает его до @param size (округляя до ближайшего большего натурального числа)

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

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

idx

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

Исключения
IndexOutOfBoundsException

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

Исходный код
def insertAll(index: Int, elems: IterableOnce[A]): Unit

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

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

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

idx

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

Исключения
IndexOutOfBoundsException

если idx выходит за пределы.

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

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

Примечание

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

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

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

Возвращает

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

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

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

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

Источник
def prepend(elem: A): ArrayBuffer.this.type

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

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

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

Возвращает

сам массив буферов

Источник
def remove(index: Int): A

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

Источник
def remove(index: Int, count: Int): Unit

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

Источник
def sizeHint(size: Int): Unit

Источник
override def sortInPlace[B >: A]()(implicit ord: Ordering[B]): ArrayBuffer.this.type

Сортирует этот массив буферов на месте в соответствии с Ordering.

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

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

Возвращает

измененный входной массив буферов, отсортированный в соответствии с порядком ord.

См. также

scala.collection.mutable.IndexedSeqOps.sortInPlace

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

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

Источник
def trimToSize(): Unit

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

Источник
def update(index: Int, elem: A): Unit

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

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

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

idx

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

Исключения
IndexOutOfBoundsException

если индекс недействителен.

Источник
override def view: ArrayBufferView[A]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
final def addString(b: StringBuilder): 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

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

Возвращает

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

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

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

Добавляет все элементы этой коллекции в строку 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

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

sep

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

Возвращает

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

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

Source
def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

Добавляет все элементы этой коллекции в 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

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

end

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

sep

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

start

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Source
final def appendAll(xs: IterableOnce[A]): Buffer.this.type

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

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

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

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

Source
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, которая может быть переопределена в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.

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

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

Возвращает

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

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

Исходный код
override def clone(): C

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

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

Возвращает

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

Примечание

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

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

Исходный код
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 на результирующей частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.

Параметры типа
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 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

Источник
override def drop(n: Int): C

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

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

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

Возвращает

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

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

Источник
def dropInPlace(n: Int): Buffer.this.type

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

Источник
override def dropRight(n: Int): C

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

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

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

Источник
def dropRightInPlace(n: Int): Buffer.this.type

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

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

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

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

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

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

Возвращает

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

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

Источник
def dropWhileInPlace(p: A => Boolean): Buffer.this.type

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

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

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

Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def filter(pred: A => Boolean): C

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

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

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

Возвращает

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

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

Исходный код
def filterInPlace(p: A => Boolean): IndexedBuffer.this.type

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

Исходный код
override def filterNot(pred: A => Boolean): C

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

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

Примечание

При реализации пользовательского типа коллекции и уточнении 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

Источник
def grouped(size: Int): Iterator[C]

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

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

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

Возвращает

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

См. также

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

from

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

Источник
def init: C

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

Параметры
that

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

Возвращает

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

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

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

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

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

Параметры
idx

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

end

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

индекс конца

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

Исходный код
final def lengthIs: SizeCompareOps

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

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

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

Исходный код
def lift: A => Option[B]

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

Возвращает

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

См. также

Function.unlift

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def mapInPlace(f: A => A): IndexedSeqOps.this.type

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

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

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

Возвращает

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

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

Исходный код
def max[B >: A](implicit ord: Ordering[B]): A

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
final def mkString: String

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

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

Возвращает

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

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

Source
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

Source
final def mkString(start: String, sep: String, end: String): String

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Source
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

Source
def nonEmpty: Boolean

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

Возвращает

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

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

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

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

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

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

B1

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

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

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

Возвращает

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

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

Source
override def padTo[B >: A](len: Int, elem: B): CC[B]

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

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

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

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

значение для дополнения.

len

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

Возвращает

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

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

Source
def padToInPlace(len: Int, elem: A): Buffer.this.type

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

Source
override def partition(p: A => Boolean): (C, C)

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

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

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
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))
Type parameters
A1

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

A2

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

Value parameters
f

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

Returns

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

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def patch[B >: A](from: Int, other: IterableOnce[B], replaced: Int): CC[B]

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

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

Type parameters
B

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

Value parameters
from

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

other

заменяющая последовательность

replaced

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

Returns

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

Inherited from SeqOps

Source
def patchInPlace(from: Int, patch: IterableOnce[A], replaced: Int): IndexedBuffer.this.type

Inherited from IndexedBuffer

Source
def permutations: Iterator[C]

Перебирает все возможные перестановки.

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

Returns

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

Пример

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

Inherited from SeqOps

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

Inherited from Buffer

Source
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)
Type parameters
B

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

Value parameters
elem

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

Returns

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

Definition Classes StrictOptimizedSeqOps -> SeqOps
Inherited from StrictOptimizedSeqOps

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

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

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

Type parameters
B

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

Value parameters
prefix

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

Returns

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

Definition Classes StrictOptimizedSeqOps -> SeqOps
Inherited from StrictOptimizedSeqOps

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

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

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

Type parameters
B

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

Value parameters
num

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

Returns

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

Inherited from IterableOnceOps

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

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

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

Type parameters
B

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

Value parameters
op

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

Returns

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

Throws
UnsupportedOperationException

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

Inherited from IterableOnceOps

Source
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

Источник
override def reverse: C

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

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

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

Возвращает

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

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

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

Source
final def sizeIs: SizeCompareOps

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

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

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

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

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

from <= indexOf(x) < until
Параметры значений
from

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

until

наименьший индекс для ИСКЛЮЧЕНИЯ из этой последовательности.

Возвращает

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

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

Source
def sliceInPlace(start: Int, end: Int): Buffer.this.type

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

Source
def sliding(size: Int, step: Int): Iterator[C]

Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped.)

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

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

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

step

расстояние между первыми элементами последовательных групп

Возвращает

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

См. также

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

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

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

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

Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped.)

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

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

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

Возвращает

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

См. также

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

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

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

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

Source
def sortInPlaceBy[B](f: A => B)(implicit ord: Ordering[B]): IndexedSeqOps.this.type

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

См. также

scala.collection.SeqOps.sortBy

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

Source
def sortInPlaceWith(lt: (A, A) => Boolean): IndexedSeqOps.this.type

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

См. также

scala.collection.SeqOps.sortWith

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

Source
def sortWith(lt: (A, A) => Boolean): C

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

См. также

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

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

Source
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 subtractOne(x: A): Buffer.this.type

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

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

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

Возвращает

сам буфер

Унаследовано от Buffer
Остальная часть перевода

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

Источник
def toArray[B >: A : ClassTag]: Array[B]

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

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

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

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

Источник
override def toString(): String

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

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

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

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

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

Источник
def toVector: Vector[A]

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

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

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

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

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

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

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

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

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

Исключения
IllegalArgumentException

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

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

Источник
def unapply(a: Int): Option[B]

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

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

Источник
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))
Параметры типа
A1

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

A2

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

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

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

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

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

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

Источник
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))
Параметры типа
A1

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

A2

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

A3

тип третьего члена троек элементов

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

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

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

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

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

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

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

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

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

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

элемент для замены

index

позиция замены

Возвращает

новая последовательность, являющаяся копией этой последовательности с элементом на позиции index заменённым на elem.

Исключения
IndexOutOfBoundsException

если index не удовлетворяет условию 0 <= index < length. В случае ленивой коллекции это исключение может быть выброшено позднее или вообще не выброшено (если конец коллекции никогда не оценивается).

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

тип второй части возвращаемых пар

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

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

Возвращает

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

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

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

Spec-Zone.ru

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