Spec-Zone.ru › Scala 2.13 Library

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

trait IndexedSeqOps[+A, +CC[_], +C] extends SeqOps[A, CC, C] with collection.IndexedSeqOps[A, CC, C]

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

Source
Seq.scala
Линейные супертипы
collection.IndexedSeqOps[A, CC, C], SeqOps[A, CC, C], collection.SeqOps[A, CC, C], IterableOps[A, CC, C], IterableOnceOps[A, CC, C], IterableOnce[A], AnyRef, Any
Известные подклассы
ArraySeq, ofBoolean, ofByte, ofChar, ofDouble, ofFloat, ofInt, ofLong, ofRef, ofShort, ofUnit, IndexedSeq, NumericRange, Exclusive, Inclusive, Range, Exclusive, Inclusive, Vector, WrappedString

Члены-значения абстрактного типа

abstract def apply(i: Int): A

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

Definition Classes
SeqOps
Annotations
@throws(scala.this.throws.<init>$default$1[IndexOutOfBoundsException])

abstract def coll: C

returns

Это коллекция как C.

Attributes
protected
Definition Classes
IterableOps

abstract def fromSpecific(coll: IterableOnce[A]): C

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

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

Attributes
protected
Definition Classes
IterableOps
Note

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

,

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

abstract def iterableFactory: IterableFactory[CC]

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

Definition Classes
IterableOps
Note

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

abstract def length: Int

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

Definition Classes
SeqOps

abstract def newSpecificBuilder: Builder[A, C]

returns

строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, View или immutable.LazyList), реализация этого метода возможна, но полученный Builder нарушит леность. Следовательно, операции следует предпочтительно реализовывать с использованием fromSpecific вместо этого метода.

Attributes
protected
Definition Classes
IterableOps
Note

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

,

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

abstract def toIterable: collection.Iterable[A]

returns

Эта коллекция в виде Iterable[A]. Новый коллекция не будет создана, если this уже является Iterable[A].

Definition Classes
IterableOps

Конкретные члены значений

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true, если !(this == that), в противном случае false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых типов возвращает хэш-значение, которое соответствует равенству значений: если две инстанции типа значения сравниваются как true, то ## вернёт одинаковое хэш-значение для каждой из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.

returns

хэш-значение, согласованное с ==

Definition Classes
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из IndexedSeqOps[A, CC, C] в any2stringadd[IndexedSeqOps[A, CC, C]] с помощью метода any2stringadd в scala.Predef.
Definition Classes
any2stringadd

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

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

Definition Classes
IterableOps
Annotations
@inline()

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

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

Definition Classes
SeqOps → IterableOps
Annotations
@inline()

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

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

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

Definition Classes
SeqOps
Annotations
@inline()

def ->[B](y: B): (IndexedSeqOps[A, CC, C], B)

Неявный
Этот член добавлен неявным преобразованием из IndexedSeqOps[A, CC, C] в ArrowAssoc[IndexedSeqOps[A, CC, C]] с помощью метода ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Annotations
@inline()

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

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

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

Definition Classes
SeqOps
Annotations
@inline()

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

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

Definition Classes
SeqOps
Annotations
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true, если объект-получатель эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

final def addString(b: mutable.StringBuilder): mutable.StringBuilder

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

Пример:

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

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

scala> val h = a.addString(b)
h: StringBuilder = 1234
b

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

возвращает

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

Definition Classes
IterableOnceOps
Annotations
@inline()

final def addString(b: mutable.StringBuilder, sep: String): mutable.StringBuilder

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

Пример:

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

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

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
b

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

sep

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

возвращает

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

Definition Classes
IterableOnceOps
Annotations
@inline()

def addString(b: mutable.StringBuilder, start: String, sep: String, end: String): mutable.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

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

start

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

sep

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

end

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

возвращает

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

Definition Classes
IterableOnceOps

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.

Definition Classes
SeqOps

def appendedAll[B >: A](suffix: IterableOnce[B]): CC[B]

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

B

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

suffix

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

возвращает

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

Definition Classes
SeqOps

final def asInstanceOf[T0]: T0

Преобразует объект-получатель в тип T0.

Обратите внимание, что успех приведения типов во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, так как аргумент типа стирается на этапе компиляции, невозможно проверить, соответствуют ли элементы списка требуемому типу.

returns

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

Definition Classes
Any
Исключения

ClassCastException, если объект-получатель не является экземпляром стираемого типа T0.

def clone(): AnyRef

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

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

returns

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

Атрибуты
protected[java.lang]
Definition Classes
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не определён SLS как член AnyRef

def collect[B](pf: PartialFunction[A, B]): CC[B]

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

B

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

pf

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Примечание

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

def collectFirst[B](pf: PartialFunction[A, B]): Option[B]

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

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

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

pf

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

returns

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

Definition Classes
IterableOnceOps
Пример:

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

def combinations(n: Int): Iterator[C]

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

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

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

returns

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

Definition Classes
SeqOps
Пример:

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

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

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

B

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

suffix

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

returns

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

Definition Classes
SeqOps → IterableOps
Аннотации
@inline()

def contains[A1 >: A](elem: A1): Boolean

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

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

elem

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

returns

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

Definition Classes
SeqOps

def containsSlice[B](that: collection.Seq[B]): Boolean

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

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

that

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

returns

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

Definition Classes
SeqOps

def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int

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

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

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

B

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

xs

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

start

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

len

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

returns

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

Definition Classes
IterableOnceOps
Note

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

def copyToArray[B >: A](xs: Array[B], start: Int): Int

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

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

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

B

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

xs

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

start

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

returns

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

Definition Classes
IterableOnceOps

def copyToArray[B >: A](xs: Array[B]): Int

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

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

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

B

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

xs

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

returns

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

Definition Classes
IterableOnceOps

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

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

B

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

that

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

p

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

returns

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

Definition Classes
SeqOps

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

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

B

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

that

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

p

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

returns

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

Definition Classes
IterableOnceOps

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

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

p

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

returns

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

Definition Classes
IterableOnceOps

def diff[B >: A](that: collection.Seq[B]): C

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

that

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

returns

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

Definition Classes
SeqOps

def distinct: C

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

returns

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

Definition Classes
SeqOps

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

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

B

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

f

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

returns

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

Definition Classes
SeqOps

def drop(n: Int): C

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

n

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

returns

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

Definition Classes
IndexedSeqOps → IterableOps → IterableOnceOps
Note

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

def dropRight(n: Int): C

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

n

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

returns

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

Definition Classes
IndexedSeqOps → IterableOps

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

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

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

p

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

def empty: C

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

returns

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

Definition Classes
IterableOps

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

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

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

that

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

returns

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

Definition Classes
SeqOps

def ensuring(cond: (IndexedSeqOps[A, CC, C]) => Boolean, msg: => Any): IndexedSeqOps[A, CC, C]

Неявный
Этот член добавляется неявным преобразованием из IndexedSeqOps[A, CC, C] в Ensuring[IndexedSeqOps[A, CC, C]] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: (IndexedSeqOps[A, CC, C]) => Boolean): IndexedSeqOps[A, CC, C]

Неявный
Этот член добавляется неявным преобразованием из IndexedSeqOps[A, CC, C] в Ensuring[IndexedSeqOps[A, CC, C]] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean, msg: => Any): IndexedSeqOps[A, CC, C]

Неявный
Этот член добавляется неявным преобразованием из IndexedSeqOps[A, CC, C] в Ensuring[IndexedSeqOps[A, CC, C]] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean): IndexedSeqOps[A, CC, C]

Неявный
Этот член добавляется неявным преобразованием из IndexedSeqOps[A, CC, C] в Ensuring[IndexedSeqOps[A, CC, C]] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект получателя (this).

Метод eq реализует отношение эквивалентности на ненулевых экземплярах AnyRef и обладает тремя дополнительными свойствами:

    Он согласован: для любых ненулевых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого ненулевого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно убедиться, что их поведение согласуется с равенством ссылок. Поэтому, если два объекта являются взаимными ссылками (o1 eq o2), они должны быть равны друг другу (o1 == o2), и они должны иметь одинаковое хэш-значение (o1.hashCode == o2.hashCode).

возвращает

true, если аргумент является ссылкой на объект получателя; false в противном случае.

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

def equals(arg0: AnyRef): Boolean

Метод проверки равенства для ссылочных типов. Реализация по умолчанию делегирует вызов методу eq.

См. также equals в scala.Any.

returns

true, если объект-получатель эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

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

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

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

p

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

returns

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

Definition Classes
IterableOnceOps

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

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

returns

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

Definition Classes
IterableOps → IterableOnceOps

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

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

pred

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

returns

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

Definition Classes
IterableOps → IterableOnceOps

def finalize(): Unit

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

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

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])
Note

не определён SLS как член AnyRef

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

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

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

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

p

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

p

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

returns

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

Definition Classes
SeqOps

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

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

def flatten[B](implicit asIterable: (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.

returns

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

Определяющие классы
IterableOps → IterableOnceOps
Примечание

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

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

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

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

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

A1

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

z

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

op

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

returns

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

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

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

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

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

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

B

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

z

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

op

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

returns

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

op(...op(z, x_1), x_2, ..., x_n)

где x1, ..., xn - элементы этой коллекции. Возвращает z, если эта коллекция пуста.

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

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

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

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

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

B

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

z

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

op

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

returns

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

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn - элементы этой коллекции. Возвращает z, если эта коллекция пуста.

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

def forall(p: (A) => Boolean): Boolean

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

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

p

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

returns

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

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

def foreach[U](f: (A) => U): Unit

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

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

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки форматирования такие же, как для String.format (@see java.lang.String.format).

Неявное
Этот член добавляется неявным преобразованием из IndexedSeqOps[A, CC, C] в StringFormat[IndexedSeqOps[A, CC, C]], выполняемое методом StringFormat в scala.Predef.
Определяющие классы
StringFormat
Аннотации
@inline()

final def getClass(): Class[_ <: AnyRef]

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

возвращает

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

Определяющие классы
AnyRef → Any
Аннотации
@native()

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)

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

K

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

B

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

key

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

f

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

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

def groupMapReduce[K, B](key: (A) => K)(f: (A) => B)(reduce: (B, B) => B): Map[K, B]

Разделяет эту итерируемую коллекцию на карту в соответствии с функцией дискриминатора key. Все значения, имеющие один и тот же дискриминатор, затем преобразуются функцией value, а затем сводятся к одному значению с помощью функции 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, если элементы не делятся нацело.

Определяющие классы
IterableOps
См. также

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

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

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

Определяющие классы
AnyRef → Any
Аннотации
@native()

def head: A

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

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

возвращает

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

Определяющие классы
IterableOps
Исключения

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

def headOption: Option[A]

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

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

возвращает

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

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

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

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

B

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

elem

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

возвращает

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

Определяющие классы
SeqOps
Аннотации
@deprecatedOverriding("Override indexOf(elem, from) instead - indexOf(elem) calls indexOf(elem, 0)", "2.13.0")

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

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

B

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

elem

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

from

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

возвращает

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

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

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

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

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

that

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

возвращает

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

Определяющие классы
SeqOps
Аннотации
@deprecatedOverriding("Override indexOfSlice(that, from) instead - indexOfSlice(that) calls indexOfSlice(that, 0)", "2.13.0")

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

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

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

that

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

from

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

возвращает

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

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

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

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

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

p

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

возвращает

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

Определяющие классы
SeqOps
Аннотации
@deprecatedOverriding("Override indexWhere(p, from) instead - indexWhere(p) calls indexWhere(p, 0)", "2.13.0")

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

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

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

p

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

from

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

возвращает

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

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

def indices: Range

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

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

returns

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

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

def init: C

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

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

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

def inits: Iterator[C]

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

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

returns

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

Определяющие классы
IterableOps
Example:

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

def intersect[B >: A](that: collection.Seq[B]): C

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

that

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

returns

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

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

def isDefinedAt(idx: Int): Boolean

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

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

idx

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

returns

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

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

def isEmpty: Boolean

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

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

returns

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

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

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта получателя T0.

Обратите внимание, что результат теста соответствует семантике стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернет true. В последнем примере, поскольку аргумент типа стирается в процессе компиляции, проверить, являются ли содержимое списка указанного типа, невозможно.

returns

true, если объект получателя является экземпляром стирания типа T0; false в противном случае.

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

def isTraversableAgain: Boolean

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

returns

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

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

def iterator: Iterator[A]

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

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

def knownSize: Int

returns

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

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

def last: A

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

returns

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

Определяющие классы
IndexedSeqOps → IterableOps
Выбрасываемые исключения

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

def lastIndexOf[B >: A](elem: B, end: Int = length - 1): Int

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

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

B

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

elem

значение элемента, которое нужно найти.

end

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

returns

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

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

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

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

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

that

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

returns

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

Определяющие классы
SeqOps
Аннотации
@deprecatedOverriding("Override lastIndexOfSlice(that, end) instead - lastIndexOfSlice(that) calls lastIndexOfSlice(that, Int.MaxValue)", "2.13.0")

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

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

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

that

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

end

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

returns

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

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

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

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

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

p

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

returns

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

Определяющие классы
SeqOps
Аннотации
@deprecatedOverriding("Override lastIndexWhere(p, end) instead - lastIndexWhere(p) calls lastIndexWhere(p, Int.MaxValue)", "2.13.0")

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

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

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

p

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

returns

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

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

def lastOption: Option[A]

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

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

returns

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

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

final def lengthCompare(that: collection.Iterable[_]): Int

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

that

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

returns

Значение 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

final def lengthCompare(len: Int): Int

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

len

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

returns

Значение 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.

Определяющие классы
IndexedSeqOps → SeqOps
См. также

lengthIs

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
Аннотации
@inline()

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

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

B

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

f

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

returns

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

Определяющие классы
IndexedSeqOps → IterableOps → IterableOnceOps
Примечание

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

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

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

B

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

ord

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

returns

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

Определяющие классы
IterableOnceOps
Выбрасываемые исключения

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

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

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

B

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

f

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

cmp

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

returns

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

Определяющие классы
IterableOnceOps
Выбрасываемые исключения

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

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

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

B

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

f

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

cmp

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

returns

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

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

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

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

B

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

ord

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

returns

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

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

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

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

B

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

ord

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

returns

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

Определяющие классы
IterableOnceOps
Выбрасываемые исключения

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

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

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

B

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

f

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

cmp

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

returns

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

Определяющие классы
IterableOnceOps
Выбрасываемые исключения

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

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

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

B

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

f

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

cmp

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

returns

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

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

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

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

B

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

ord

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

returns

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

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

final def mkString: String

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

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

returns

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

Определяющие классы
IterableOnceOps
Аннотации
@inline()

final def mkString(sep: String): String

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

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

sep

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

returns

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

Определяющие классы
IterableOnceOps
Аннотации
@inline()
Example:

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

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

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

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

start

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

sep

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

end

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

returns

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

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

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

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true, если аргумент не является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

def nonEmpty: Boolean

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

returns

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

Definition Classes
IterableOnceOps
Annotations
@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")

final def notify(): Unit

Разбуживает единственную нить, ожидающую монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не указан SLS в качестве члена AnyRef

final def notifyAll(): Unit

Разбуживает все нити, ожидающие монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не указан SLS в качестве члена AnyRef

def occCounts[B](sq: collection.Seq[B]): mutable.Map[B, Int]

Attributes
protected[scala.collection]
Definition Classes
SeqOps

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

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

B

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

len

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

elem

значение заполнителя

returns

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

Definition Classes
SeqOps

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

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

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

Definition Classes
IterableOps

def partitionMap[A1, A2](f: (A) => Either[A1, A2]): (CC[A1], CC[A2])

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

Пример:

val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
 case i: Int => Left(i)
 case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
A1

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

A2

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

f

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

returns

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

Definition Classes
IterableOps

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

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

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

B

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

from

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

other

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

replaced

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

returns

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

Definition Classes
SeqOps

def permutations: Iterator[C]

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

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

returns

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

Definition Classes
SeqOps
Пример:

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

def prepended[B >: A](elem: B): CC[B]

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

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

Пример:

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

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

scala> println(x)
List(1)
B

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

elem

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

returns

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

Definition Classes
IndexedSeqOps → SeqOps

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

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

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

B

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

prefix

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

returns

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

Definition Classes
SeqOps

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

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

B

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

num

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

B

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

op

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

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

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

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

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

B

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

op

бинарная операция.

returns

результат вставки op между последовательными элементами этой коллекции слева направо:

op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)

где x1, ..., xn - элементы этой коллекции.

Definition Classes
IterableOnceOps
Exceptions thrown

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

def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]

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

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

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

B

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

op

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

returns

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

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

def reduceOption[B >: A](op: (B, B) => B): Option[B]

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

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

B

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

op

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

returns

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

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

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

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

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

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

B

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

op

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

returns

результат вставки op между последовательными элементами этой коллекции справа налево:

op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))

где x1, ..., xn - элементы этой коллекции.

Определяющие классы
IterableOnceOps
Выбрасываемые исключения

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

def reduceRightOption[B >: A](op: (A, B) => B): Option[B]

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

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

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

B

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

op

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

returns

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

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

def reverse: C

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

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

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

returns

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

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

def reverseIterator: Iterator[A]

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

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

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

returns

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

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

def reversed: collection.Iterable[A]

Атрибуты
protected
Определяющие классы
IndexedSeqOps → IterableOnceOps

def sameElements[B >: A](that: IterableOnce[B]): Boolean

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

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

def scan[B >: A](z: B)(op: (B, B) => B): CC[B]

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

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

B

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

z

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

op

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

returns

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

Definition Classes
IterableOps

def scanLeft[B](z: B)(op: (B, A) => B): CC[B]

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

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

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

B

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

z

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

op

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Примечание

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

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

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

z

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

op

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

returns

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

Definition Classes
IterableOps

def search[B >: A](elem: B, from: Int, to: Int)(implicit ord: math.Ordering[B]): SearchResult

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

Последовательность должна быть отсортирована по тому же Ordering до вызова; в противном случае результаты не определены.

elem

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

from

индекс, с которого начинается поиск.

to

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

ord

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

returns

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

Definition Classes
IndexedSeqOps → SeqOps
Примечание

если to <= from, пространство поиска пусто, и возвращается значение InsertionPoint в from

См. также

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

def search[B >: A](elem: B)(implicit ord: math.Ordering[B]): SearchResult

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

Последовательность должна быть отсортирована по тому же Ordering до вызова; в противном случае результаты не определены.

elem

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

ord

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

returns

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

Definition Classes
IndexedSeqOps → SeqOps
См. также

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

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

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

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

p

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

from

индекс, с которого начинается поиск.

returns

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

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

final def segmentLength(p: (A) => Boolean): Int

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

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

p

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

returns

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

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

final def size: Int

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

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

returns

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

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

final def sizeCompare(that: collection.Iterable[_]): Int

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

that

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

returns

Значение 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

final def sizeCompare(otherSize: Int): Int

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

otherSize

тестовое значение, которое сравнивается с размером.

returns

Значение 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.

Определяющие классы
SeqOps → IterableOps
См. также

sizeIs

final def sizeIs: SizeCompareOps

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

Эти операции реализованы на основе 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
Аннотации
@inline()

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

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

from <= indexOf(x) < until
from

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

until

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

returns

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

Определяющие классы
IndexedSeqOps → IndexedSeqOps → IterableOps → IterableOnceOps
Примечание

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

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

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

size

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

step

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

returns

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

Definition Classes
IterableOps
See also

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

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

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

size

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

returns

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

Definition Classes
IterableOps
See also

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

def sortBy[B](f: (A) => B)(implicit ord: Ordering[B]): C

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

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

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

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

B

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

f

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

ord

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

returns

последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с упорядочением, где x < y, если ord.lt(f(x), f(y)).

Definition Classes
SeqOps
Пример:
    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)
See also

scala.math.Ordering

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

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

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

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

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

lt

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

returns

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

Definition Classes
SeqOps
Пример:
    List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
    List("Bob", "John", "Steve", "Tom")

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

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

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

ord

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

returns

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

Definition Classes
SeqOps
See also

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

def span(p: (A) => Boolean): (C, C)

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

Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

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

p

предикат проверки

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

def splitAt(n: Int): (C, C)

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

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

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

n

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

def startsWith[B >: A](that: IterableOnce[B], offset: Int = 0): Boolean

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

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

that

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

offset

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

returns

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

Definition Classes
SeqOps

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

Возвращает Stepper для элементов этой коллекции.

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

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

    Для коллекций Int, Short, Byte или Char возвращается IntStepperДля коллекций Double или Float возвращается DoubleStepperДля коллекций Long возвращается LongStepperДля любого другого типа элемента возвращается AnyStepper

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

Definition Classes
IndexedSeqOps → IterableOnce

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

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

B

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

num

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

returns

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

Definition Classes
IterableOnceOps

final def synchronized[T0](arg0: => T0): T0

Definition Classes
AnyRef

def tail: C

Остаток коллекции без её первого элемента.

Definition Classes
IterableOps

def tails: Iterator[C]

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

returns

итератор по всем хвостам этой итерируемой коллекции

Definition Classes
IterableOps
Пример:

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

def take(n: Int): C

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

n

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

возвращает

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

Классы определения
IndexedSeqOps → IterableOps → IterableOnceOps
Примечание

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

def takeRight(n: Int): C

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

n

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

возвращает

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

Классы определения
IndexedSeqOps → IterableOps

def takeWhile(p: (A) => Boolean): C

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

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

p

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

возвращает

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

Классы определения
IterableOps → IterableOnceOps

def tapEach[U](f: (A) => U): C

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

U

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

f

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

возвращает

Такая же логическая коллекция, как и эта

Классы определения
IterableOps → IterableOnceOps

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](implicit arg0: ClassTag[B]): Array[B]

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

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

final def toBuffer[B >: A]: Buffer[B]

Классы определения
IterableOnceOps
Аннотации
@inline()

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]

returns

Этот набор как Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Definition Classes
IterableOnceOps

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

Definition Classes
IterableOnceOps

def toString(): String

Создаёт строковое представление этого объекта. Представление по умолчанию зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

returns

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

Definition Classes
AnyRef → Any

def toVector: Vector[A]

Definition Classes
IterableOnceOps

def transpose[B](implicit asIterable: (A) => collection.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.

returns

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

Definition Classes
IterableOps
Exceptions thrown

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

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

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

returns

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

Definition Classes
IterableOps

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

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

returns

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

Definition Classes
IterableOps

def updated[B >: A](index: Int, elem: B): CC[B]

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

B

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

index

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

elem

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

returns

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

Definition Classes
SeqOps
Exceptions thrown

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

def view: IndexedSeqView[A]

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

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

final def wait(): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException]) @native()

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

def zip[B](that: IterableOnce[B]): CC[(A, B)]

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

B

тип второй половины возвращаемых пар

that

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

возвращает

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

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

def zipAll[A1 >: A, B](that: collection.Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

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

that

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

thisElem

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

thatElem

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

возвращает

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

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

def zipWithIndex: CC[(A, Int)]

Объединяет эту итерируемую коллекцию с ее индексами.

возвращает

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

Определяющие классы
IterableOps → IterableOnceOps
Пример:

    List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Примечание

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

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

Spec-Zone.ru

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