Spec-Zone.ru › Scala 2.13 Library

Класс scala.collection.mutable.ArraySeq

Компаньон объект ArraySeq

запечатанный абстрактный класс ArraySeq[T] extends AbstractSeq[T] with IndexedSeq[T] with IndexedSeqOps[T, ArraySeq, ArraySeq[T]] with StrictOptimizedSeqOps[T, ArraySeq, ArraySeq[T]] with Serializable

Коллекция, представляющая Array[T]. В отличие от ArrayBuffer, она всегда опирается на одну и ту же базу Array, поэтому её размер не изменяется.

T

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

Аннотации
@SerialVersionUID()
Источник
ArraySeq.scala
С тех пор

2.8

Линейные супертипы
java.io.Serializable, StrictOptimizedSeqOps[T, ArraySeq, ArraySeq[T]], StrictOptimizedIterableOps[T, ArraySeq, ArraySeq[T]], IndexedSeq[T], IndexedSeqOps[T, [_]ArraySeq[_], ArraySeq[T]], collection.IndexedSeq[T], collection.IndexedSeqOps[T, [_]ArraySeq[_], ArraySeq[T]], AbstractSeq[T], Seq[T], SeqOps[T, [_]ArraySeq[_], ArraySeq[T]], Cloneable[ArraySeq[T]], java.lang.Cloneable, Iterable[T], collection.AbstractSeq[T], collection.Seq[T], Equals, collection.SeqOps[T, [_]ArraySeq[_], ArraySeq[T]], PartialFunction[Int, T], (Int) => T, collection.AbstractIterable[T], collection.Iterable[T], IterableFactoryDefaults[T, [x]IndexedSeq[x]], IterableOps[T, [_]ArraySeq[_], ArraySeq[T]], IterableOnceOps[T, [_]ArraySeq[_], ArraySeq[T]], IterableOnce[T], AnyRef, Any
Известные подклассы
ofBoolean, ofByte, ofChar, ofDouble, ofFloat, ofInt, ofLong, ofRef, ofShort, ofUnit

Члены абстрактных значений

абстрактный def apply(i: Int): T

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

Определяющие классы
SeqOps
Аннотации
@throws(scala.this.throws.<init>$default$1[IndexOutOfBoundsException])

абстрактный def array: Array[_]

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

абстрактный def elemTag: ClassTag[_]

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

абстрактный def length: Int

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

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

абстрактный def update(index: Int, elem: T): Unit

Обновить элемент по заданному индексу

elem

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

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

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

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

Неявный
Этот член добавлен неявным преобразованием из ArraySeq[T] в any2stringadd[ArraySeq[T]], выполненным методом any2stringadd в scala.Predef.
Definition Classes
any2stringadd

final def ++[B >: T](suffix: IterableOnce[B]): ArraySeq[B]

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

Definition Classes
IterableOps
Annotations
@inline()

final def ++:[B >: T](prefix: IterableOnce[B]): ArraySeq[B]

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

Definition Classes
SeqOps → IterableOps
Annotations
@inline()

final def +:[B >: T](elem: B): ArraySeq[B]

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

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

Definition Classes
SeqOps
Annotations
@inline()

def ->[B](y: B): (ArraySeq[T], B)

Неявный
Этот член добавлен неявным преобразованием из ArraySeq[T] в ArrowAssoc[ArraySeq[T]], выполненным методом ArrowAssoc в scala.Predef. Это преобразование выполняется только если T является подклассом Option[Nothing] (T <: Option[Nothing]).
Definition Classes
ArrowAssoc
Annotations
@inline()

final def :+[B >: T](elem: B): ArraySeq[B]

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

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

Definition Classes
SeqOps
Annotations
@inline()

final def :++[B >: T](suffix: IterableOnce[B]): ArraySeq[B]

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

Классы-определения
SeqOps
Аннотации
@inline()

final def ==(arg0: Any): Boolean

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

возвращает

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

Классы-определения
AnyRef → Any

final def addString(b: StringBuilder): StringBuilder

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

Пример:

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

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

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

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

возвращает

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

Классы-определения
IterableOnceOps
Аннотации
@inline()

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

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

Пример:

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

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

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

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

sep

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

возвращает

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

Классы-определения
IterableOnceOps
Аннотации
@inline()

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

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

Пример:

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

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

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

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

start

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

sep

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

end

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

возвращает

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

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

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

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

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

C

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

k

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

возвращает

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

Классы-определения
PartialFunction

def andThen[C](k: (T) => C): PartialFunction[Int, C]

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

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

C

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

k

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

возвращает

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

Классы-определения
PartialFunction → Function1

def appended[B >: T](elem: B): ArraySeq[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

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

returns

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

Definition Classes
StrictOptimizedSeqOps → SeqOps

def appendedAll[B >: T](suffix: IterableOnce[B]): ArraySeq[B]

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

B

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

suffix

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

returns

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

Definition Classes
StrictOptimizedSeqOps → SeqOps

def applyOrElse[A1 <: Int, B1 >: T](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. Это может привести к лучшему производительности и более предсказуемому поведению в отношении побочных эффектов.

x

аргумент функции

default

функция по умолчанию

returns

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

Definition Classes
PartialFunction
Since

2.10

final def asInstanceOf[T0]: T0

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

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

returns

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

Definition Classes
Any
Exceptions thrown

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

def canEqual(that: Any): Boolean

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

that

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

returns

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

Definition Classes
Seq → Equals

def charAt(index: Int): Char

Неявный
Этот член добавляется неявным преобразованием из ArraySeq[T] в SeqCharSequence, выполненным методом SeqCharSequence в scala.Predef. Это преобразование произойдет только в том случае, если T является подклассом Char (T <: Char).
Definition Classes
SeqCharSequence → CharSequence

def chars(): IntStream

Неявный
Этот член добавляется неявным преобразованием из ArraySeq[T] в SeqCharSequence, выполненным методом SeqCharSequence в scala.Predef. Это преобразование произойдет только в том случае, если T является подклассом Char (T <: Char).
Definition Classes
CharSequence

def className: String

Определяет префикс представления этого объекта.

Рекомендуется возвращать имя конкретного типа коллекции, но не подклассы реализации. Например, для ListMap этот метод должен возвращать "ListMap", а не "Map" (супертип) или "Node" (подкласс реализации).

Реализация по умолчанию возвращает "Iterable". Она переопределяется для основных типов коллекций "Seq", "IndexedSeq", "LinearSeq", "Buffer", "Set", "Map", "SortedSet", "SortedMap" и "View".

returns

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

Attributes
protected[this]
Definition Classes
Iterable

def clone(): ArraySeq[T]

Создает копию этого объекта, включая базовый массив.

returns

копия объекта-приемника.

Definition Classes
ArraySeq → SeqOps → Cloneable → AnyRef

def codePoints(): IntStream

Implicit
Этот член добавлен неявным преобразованием из ArraySeq[T] в SeqCharSequence, выполненным методом SeqCharSequence в scala.Predef. Это преобразование будет выполнено только в том случае, если T является подклассом Char (T <: Char).
Definition Classes
CharSequence

final def coll: ArraySeq.this.type

returns

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

Attributes
protected
Definition Classes
Iterable → IterableOps

def collect[B](pf: PartialFunction[T, B]): ArraySeq[B]

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

B

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

pf

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

returns

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

Definition Classes
StrictOptimizedIterableOps → IterableOps → IterableOnceOps
Note

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

def collectFirst[B](pf: PartialFunction[T, 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[ArraySeq[T]]

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

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

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

returns

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

Definition Classes
SeqOps
Пример:

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

def compose[R](k: PartialFunction[R, Int]): PartialFunction[R, T]

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

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

R

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

k

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

возвращает

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

Definition Classes
PartialFunction

def compose[A](g: (A) => Int): (A) => T

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

A

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

g

функция A => T1

возвращает

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

Definition Classes
Function1
Annotations
@unspecialized()

final def concat[B >: T](suffix: IterableOnce[B]): ArraySeq[B]

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

B

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

suffix

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

возвращает

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

Definition Classes
SeqOps → IterableOps
Annotations
@inline()

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

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

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

elem

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

возвращает

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

Definition Classes
SeqOps

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

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

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

that

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

возвращает

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

Definition Classes
SeqOps

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

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

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

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

B

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

xs

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

start

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

len

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

возвращает

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

Definition Classes
ArraySeq → IterableOnceOps
Note

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

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

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

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

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

B

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

xs

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

start

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

возвращает

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

Definition Classes
ArraySeq → IterableOnceOps

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

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

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

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

B

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

xs

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

returns

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

Definition Classes
IterableOnceOps

def corresponds[B](that: collection.Seq[B])(p: (T, 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: (T, B) => Boolean): Boolean

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

B

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

that

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

p

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

returns

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

Definition Classes
IterableOnceOps

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

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

p

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

returns

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

Definition Classes
IterableOnceOps

def diff[B >: T](that: collection.Seq[B]): ArraySeq[T]

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

that

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

returns

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

Definition Classes
StrictOptimizedSeqOps → SeqOps

def distinct: ArraySeq[T]

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

returns

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

Definition Classes
SeqOps

def distinctBy[B](f: (T) => B): ArraySeq[T]

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

B

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

f

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

returns

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

Definition Classes
StrictOptimizedSeqOps → SeqOps

def drop(n: Int): ArraySeq[T]

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

n

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

returns

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

Definition Classes
IndexedSeqOps → IterableOps → IterableOnceOps
Note

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

def dropRight(n: Int): ArraySeq[T]

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

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

n

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

returns

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

Definition Classes
StrictOptimizedIterableOps → IterableOps

def dropWhile(p: (T) => Boolean): ArraySeq[T]

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

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

p

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

def elementWise: ElementWiseExtractor[Int, T]

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

Definition Classes
PartialFunction
Пример:
    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
    }

def empty: ArraySeq[T]

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

returns

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

Definition Classes
ArraySeq → IterableFactoryDefaults → IterableOps

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

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

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

that

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

returns

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

Definition Classes
SeqOps

def ensuring(cond: (ArraySeq[T]) => Boolean, msg: => Any): ArraySeq[T]

Implicit
Этот член добавлен неявным преобразованием из ArraySeq[T] вEnsuring[ArraySeq[T]] выполненным методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (ArraySeq[T]) => Boolean): ArraySeq[T]

Implicit
Этот член добавлен неявным преобразованием из ArraySeq[T] вEnsuring[ArraySeq[T]] выполненным методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: => Any): ArraySeq[T]

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

def ensuring(cond: Boolean): ArraySeq[T]

Неявный
Этот член добавлен неявным преобразованием из ArraySeq[T] в Ensuring[ArraySeq[T]], выполненным методом 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(other: Any): Boolean

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

Определяющие классы
ArraySeq → Seq → Equals → AnyRef → Any

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

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

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

p

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

возвращает

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

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

def filter(pred: (T) => Boolean): ArraySeq[T]

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

возвращает

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

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

def filterImpl(pred: (T) => Boolean, isFlipped: Boolean): ArraySeq[T]

Атрибуты
protected[scala.collection]
Определяющие классы
StrictOptimizedIterableOps

def filterNot(pred: (T) => Boolean): ArraySeq[T]

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

pred

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

returns

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

Definition Classes
StrictOptimizedIterableOps → 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: (T) => Boolean): Option[T]

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

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

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

p

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

p

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

returns

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

Definition Classes
SeqOps

def flatMap[B](f: (T) => IterableOnce[B]): ArraySeq[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
StrictOptimizedIterableOps → IterableOps → IterableOnceOps
Note

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

def flatten[B](implicit toIterableOnce: (T) => IterableOnce[B]): ArraySeq[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

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

returns

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

Definition Classes
StrictOptimizedIterableOps → IterableOps → IterableOnceOps
Note

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

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

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

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

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

A1

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

z

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

op

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

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

B

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

z

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

op

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

returns

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

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

где x1, ..., xn — элементы этого набора. Возвращает z, если этот набор пуст.

Definition Classes
IterableOnceOps

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

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

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

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

B

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

z

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

op

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

returns

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

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

где x1, ..., xn — элементы этого набора. Возвращает z, если этот набор пуст.

Definition Classes
IterableOnceOps

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

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

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

p

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

returns

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

Definition Classes
IterableOnceOps

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

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

Definition Classes
IterableOnceOps

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки аналогичны строкам в String.format (@см java.lang.String.format).

Implicit
Этот член добавляется неявным преобразованием из ArraySeq[T] вStringFormat[ArraySeq[T]], выполненное методом StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

def fromSpecific(coll: IterableOnce[T]): ArraySeq[T]

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

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

Attributes
protected
Definition Classes
ArraySeq → IterableFactoryDefaults → IterableOps
Note

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

,

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

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

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

def groupBy[K](f: (T) => K): immutable.Map[K, ArraySeq[T]]

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

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

K

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

f

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

returns

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

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

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

Definition Classes
IterableOps

def groupMap[K, B](key: (T) => K)(f: (T) => B): immutable.Map[K, ArraySeq[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

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

Definition Classes
IterableOps

def groupMapReduce[K, B](key: (T) => K)(f: (T) => B)(reduce: (B, B) => B): immutable.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)(_ + _)

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

Definition Classes
IterableOps

def grouped(size: Int): Iterator[ArraySeq[T]]

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

size

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

returns

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

Definition Classes
IterableOps
See also

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

def hashCode(): Int

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

returns

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

Definition Classes
Seq → AnyRef → Any

def head: T

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

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

returns

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

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

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

def headOption: Option[T]

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

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

returns

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

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

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

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

B

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

elem

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

returns

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

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

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

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

B

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

elem

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

from

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

returns

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

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

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

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

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

that

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

returns

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

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

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

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

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

that

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

from

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

returns

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

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

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

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

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

p

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

returns

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

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

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

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

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

p

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

from

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

returns

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

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

def indices: immutable.Range

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

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

возвращает

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

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

def init: ArraySeq[T]

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

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

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

def inits: Iterator[ArraySeq[T]]

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

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

возвращает

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

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

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

def intersect[B >: T](that: collection.Seq[B]): ArraySeq[T]

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

that

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

возвращает

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

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

def isDefinedAt(idx: Int): Boolean

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

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

idx

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

возвращает

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

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

def isEmpty: Boolean

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

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

возвращает

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

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

final def isInstanceOf[T0]: Boolean

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

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

возвращает

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

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

def isTraversableAgain: Boolean

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

возвращает

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

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

def iterableFactory: SeqFactory[ArraySeq]

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

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

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

def iterator: Iterator[T]

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

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

def knownSize: Int

возвращает

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

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

def last: T

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

возвращает

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

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

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

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

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

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

B

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

elem

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

end

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

возвращает

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

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

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

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

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

that

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

возвращает

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

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

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

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

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

that

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

end

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

возвращает

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

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

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

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

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

p

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

возвращает

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

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

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

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

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

p

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

возвращает

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

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

def lastOption: Option[T]

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

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

возвращает

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

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

def lazyZip[B](that: collection.Iterable[B]): LazyZip2[T, B, ArraySeq.this.type]

Аналогично zip, за исключением того, что элементы в каждом наборе не потребляются до тех пор, пока не будет вызвано строгое действие над возвращаемым LazyZip2 декоратором.

Вызовы lazyZip могут быть объединены для поддержки более высоких арностей (до 4) без затрат на построение и деконструирование промежуточных кортежей.

val xs = List(1, 2, 3)
val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d)
// res == List(4, 8, 12)
B

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

that

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

returns

декоратор LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или цепочкой вызовов lazyZip. Также поддерживается неявное преобразование в Iterable[(A, B)].

Definition Classes
Iterable

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.

Definition Classes
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.

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

def lift: (Int) => Option[T]

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

returns

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

Definition Classes
PartialFunction
См. также

Function.unlift

def map[B](f: (T) => B): ArraySeq[B]

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

B

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

f

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

returns

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

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

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

def mapInPlace(f: (T) => T): ArraySeq.this.type

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

f

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

returns

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

Definition Classes
IndexedSeqOps

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

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

B

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

ord

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

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

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

B

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

f

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

cmp

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

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

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

B

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

f

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

cmp

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

returns

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

Definition Classes
IterableOnceOps

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

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

B

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

ord

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

returns

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

Definition Classes
IterableOnceOps

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

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

B

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

ord

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

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

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

B

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

f

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

cmp

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

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

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

B

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

f

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

cmp

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

returns

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

Definition Classes
IterableOnceOps

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

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

B

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

ord

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

returns

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

Definition Classes
IterableOnceOps

final def mkString: String

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

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

returns

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

Definition Classes
IterableOnceOps
Annotations
@inline()

final def mkString(sep: String): String

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

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

sep

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

returns

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

Definition Classes
IterableOnceOps
Annotations
@inline()
Пример:

    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.

Definition Classes
IterableOnceOps
Пример:

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

final def ne(arg0: AnyRef): Boolean

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

returns

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

Definition Classes
AnyRef

def newSpecificBuilder: Builder[T, ArraySeq[T]]

returns

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

Attributes
protected
Definition Classes
ArraySeq → IterableFactoryDefaults → IterableOps
Note

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

,

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

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

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

Классы-определения
AnyRef
Аннотации
@native()
Примечание

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

final def notifyAll(): Unit

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

Классы-определения
AnyRef
Аннотации
@native()
Примечание

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

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

Атрибуты
protected[scala.collection]
Классы-определения
SeqOps

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

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

A1

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

B1

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

that

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

возвращает

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

Классы-определения
PartialFunction

def padTo[B >: T](len: Int, elem: B): ArraySeq[B]

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

B

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

len

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

elem

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

возвращает

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

Классы-определения
StrictOptimizedSeqOps → SeqOps

def partition(p: (T) => Boolean): (ArraySeq[T], ArraySeq[T])

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

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

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

def partitionMap[A1, A2](f: (T) => Either[A1, A2]): (ArraySeq[A1], ArraySeq[A2])

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

Пример:

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

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

A2

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

f

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

возвращает

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

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

def patch[B >: T](from: Int, other: IterableOnce[B], replaced: Int): ArraySeq[B]

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

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

B

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

from

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

other

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

replaced

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

returns

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

Definition Classes
SeqOps

def permutations: Iterator[ArraySeq[T]]

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

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

returns

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

Definition Classes
SeqOps
Пример:

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

def prepended[B >: T](elem: B): ArraySeq[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
StrictOptimizedSeqOps → SeqOps

def prependedAll[B >: T](prefix: IterableOnce[B]): ArraySeq[B]

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

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

B

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

prefix

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

returns

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

Definition Classes
StrictOptimizedSeqOps → SeqOps

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

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

B

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

num

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

B

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

op

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

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

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

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

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

B

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

op

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

returns

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

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

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

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

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

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

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

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

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

B

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

op

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

returns

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

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

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

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

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

B

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

op

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

returns

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

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

def reduceRight[B >: T](op: (T, 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 >: T](op: (T, B) => B): Option[B]

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

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

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

B

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

op

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

returns

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

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

def reverse: ArraySeq[T]

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

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

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

returns

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

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

def reverseIterator: Iterator[T]

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

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

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

returns

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

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

def reversed: collection.Iterable[T]

Атрибуты
protected
Классы определения
IndexedSeqOps → IterableOnceOps

def runWith[U](action: (T) => U): (Int) => Boolean

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

Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно

if(pf isDefinedAt x) { action(pf(x)); true } else false

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

action

функция действия

возвращает

функция, которая отображает аргументы x на isDefinedAt(x). Результирующая функция выполняет action(this(x)), где this определена.

Классы определения
PartialFunction
С момента

2.10

См. также

applyOrElse.

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

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

Классы определения
SeqOps

def scan[B >: T](z: B)(op: (B, B) => B): ArraySeq[B]

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

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

B

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

z

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

op

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

возвращает

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

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

def scanLeft[B](z: B)(op: (B, T) => B): ArraySeq[B]

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

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

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

B

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

z

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

op

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

возвращает

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

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

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

def scanRight[B](z: B)(op: (T, B) => B): ArraySeq[B]

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

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

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

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

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
B

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

z

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

op

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

возвращает

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

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

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

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

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

elem

искомый элемент.

from

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

to

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

ord

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

returns

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

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

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

См. также

scala.collection.IndexedSeq

scala.math.Ordering

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

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

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

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

elem

искомый элемент.

ord

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

returns

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

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

scala.collection.IndexedSeq

scala.math.Ordering

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

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

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

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

p

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

from

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

returns

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

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

final def segmentLength(p: (T) => 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

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

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

def slice(from: Int, until: Int): ArraySeq[T]

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

from <= indexOf(x) < until
from

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

until

наименьший индекс, который нужно ИСКЛЮЧИТЬ из этой последовательности.

returns

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

Definition Classes
IndexedSeqOps → IterableOps → IterableOnceOps
Note

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

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

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

size

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

step

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

returns

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

Definition Classes
IterableOps
See also

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

def sliding(size: Int): Iterator[ArraySeq[T]]

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

size

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

returns

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

Definition Classes
IterableOps
See also

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

def sortBy[B](f: (T) => B)(implicit ord: Ordering[B]): ArraySeq[T]

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

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

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

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

B

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

f

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

ord

порядок, предполагаемый в области B.

returns

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

Definition Classes
SeqOps
Example:
    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 sortInPlace[B >: T]()(implicit ord: Ordering[B]): ArraySeq.this.type

Сортирует этот упакованный массив на месте в соответствии с Ordering.

ord

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

returns

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

Definition Classes
ArraySeq → IndexedSeqOps
See also

scala.collection.SeqOps.sorted

def sortInPlaceBy[B](f: (T) => B)(implicit ord: Ordering[B]): ArraySeq.this.type

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

Definition Classes
IndexedSeqOps
See also

scala.collection.SeqOps.sortBy

def sortInPlaceWith(lt: (T, T) => Boolean): ArraySeq.this.type

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

Definition Classes
IndexedSeqOps
See also

scala.collection.SeqOps.sortWith

def sortWith(lt: (T, T) => Boolean): ArraySeq[T]

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

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

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

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

lt

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

returns

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

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

def sorted[B >: T](implicit ord: Ordering[B]): ArraySeq[T]

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

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

ord

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

returns

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

Definition Classes
ArraySeq → SeqOps
See also

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

def span(p: (T) => Boolean): (ArraySeq[T], ArraySeq[T])

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

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

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

p

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

returns

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

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

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

def splitAt(n: Int): (ArraySeq[T], ArraySeq[T])

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

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

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

n

позиция, в которой нужно разделить.

returns

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

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

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

def startsWith[B >: T](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[T, 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. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.

Definition Classes
ArraySeq → IndexedSeqOps → IterableOnce

final def strictOptimizedCollect[B, C2](b: Builder[B, C2], pf: PartialFunction[T, B]): C2

B

Тип элементов результирующей коллекции (например, String)

C2

Тип результирующей коллекции (например, List[String])

b

Библиотека для создания результирующей коллекции

pf

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

returns

Результирующая коллекция

Attributes
protected[this]
Definition Classes
StrictOptimizedIterableOps
Annotations
@inline()

final def strictOptimizedConcat[B >: T, C2](that: IterableOnce[B], b: Builder[B, C2]): C2

B

Тип элементов результирующих коллекций (например, Int)

C2

Тип результирующей коллекции (например, List[Int])

that

Элементы для конкатенации с этой коллекцией

b

Библиотека для создания результирующей коллекции

returns

Результирующая коллекция

Attributes
protected[this]
Definition Classes
StrictOptimizedIterableOps
Annotations
@inline()

final def strictOptimizedFlatMap[B, C2](b: Builder[B, C2], f: (T) => IterableOnce[B]): C2

B

Тип элементов результирующей коллекции (например, String)

C2

Тип результирующей коллекции (например, List[String])

b

Библиотека для создания результирующей коллекции

f

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

returns

Результирующая коллекция

Attributes
protected[this]
Definition Classes
StrictOptimizedIterableOps
Annotations
@inline()

final def strictOptimizedFlatten[B, C2](b: Builder[B, C2])(implicit toIterableOnce: (T) => IterableOnce[B]): C2

B

Тип элементов результирующей коллекции (например, Int)

C2

Тип результирующей коллекции (например, List[Int])

b

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

toIterableOnce

Доказательство того, что A может рассматриваться как IterableOnce[B]

returns

Результирующая коллекция

Attributes
protected[this]
Definition Classes
StrictOptimizedIterableOps
Annotations
@inline()

final def strictOptimizedMap[B, C2](b: Builder[B, C2], f: (T) => B): C2

B

Тип элементов результирующей коллекции (например, String)

C2

Тип результирующей коллекции (например, List[String])

b

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

f

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

returns

Результирующая коллекция

Attributes
protected[this]
Definition Classes
StrictOptimizedIterableOps
Annotations
@inline()

final def strictOptimizedZip[B, C2](that: IterableOnce[B], b: Builder[(T, B), C2]): C2

B

Тип элементов второй коллекции (например, String)

C2

Тип результирующей коллекции (например, List[(Int, String)])

that

Коллекция, с которой нужно объединить эту коллекцию

b

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

returns

Результирующая коллекция

Attributes
protected[this]
Definition Classes
StrictOptimizedIterableOps
Annotations
@inline()

def stringPrefix: String

Attributes
protected[this]
Definition Classes
ArraySeq → IndexedSeq → Seq → Iterable
Annotations
@deprecatedOverriding("Compatibility override", "2.13.0")

def subSequence(start: Int, end: Int): CharSequence

Implicit
Этот член добавляется неявным преобразованием из ArraySeq[T] в SeqCharSequence, выполняемым методом SeqCharSequence в scala.Predef. Это преобразование будет происходить только если T является подклассом Char (T <: Char).
Definition Classes
SeqCharSequence → CharSequence

def sum[B >: T](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: ArraySeq[T]

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

Definition Classes
IterableOps

def tails: Iterator[ArraySeq[T]]

Итерация по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, промежуточные значения — результаты последовательных применений 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): ArraySeq[T]

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

n

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

returns

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

Definition Classes
IndexedSeqOps → IterableOps → IterableOnceOps
Note

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

def takeRight(n: Int): ArraySeq[T]

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

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

n

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

returns

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

Definition Classes
StrictOptimizedIterableOps → IterableOps

def takeWhile(p: (T) => Boolean): ArraySeq[T]

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

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

p

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

returns

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

Definition Classes
IterableOps → IterableOnceOps

def tapEach[U](f: (T) => U): ArraySeq[T]

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

U

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

f

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

returns

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

Definition Classes
StrictOptimizedIterableOps → IterableOps → IterableOnceOps

def to[C1](factory: Factory[T, C1]): C1

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

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

Definition Classes
IterableOnceOps

def toArray[B >: T](implicit arg0: ClassTag[B]): Array[B]

Преобразование коллекции в массив.

Definition Classes
IterableOnceOps

final def toBuffer[B >: T]: Buffer[B]

Definition Classes
IterableOnceOps
Annotations
@inline()

def toIndexedSeq: immutable.IndexedSeq[T]

Definition Classes
IterableOnceOps

final def toIterable: ArraySeq.this.type

returns

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

Definition Classes
Iterable → IterableOps

def toList: immutable.List[T]

Definition Classes
IterableOnceOps

def toMap[K, V](implicit ev: <:<[T, (K, V)]): immutable.Map[K, V]

Definition Classes
IterableOnceOps

def toSeq: immutable.Seq[T]

returns

Этот набор данных в виде Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Definition Classes
IterableOnceOps

def toSet[B >: T]: immutable.Set[B]

Definition Classes
IterableOnceOps

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

returns

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

Definition Classes
Seq → Function1 → Iterable → AnyRef → Any

def toVector: immutable.Vector[T]

Definition Classes
IterableOnceOps

def transpose[B](implicit asIterable: (T) => collection.Iterable[B]): ArraySeq[ArraySeq[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 unapply(a: Int): Option[T]

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

Definition Classes
PartialFunction

def unlift: PartialFunction[Int, B]

Преобразует необязательную функцию в частичную функцию.

Неявный
Этот член добавлен неявным преобразованием из ArraySeq[T] в UnliftOps[Int, B] с помощью метода UnliftOps в scala.Function1.Это преобразование произойдёт только в том случае, если T является подклассом Option[B] (T <: Option[B]).
Определяющие классы
UnliftOps
Пример:

    В отличие от Function.unlift, этот метод UnliftOps.unlift может использоваться в экстракторах.

    val of: Int => Option[String] = { i =>
      if (i == 2) {
        Some("matched by an optional function")
      } else {
        None
      }
    }
    
    util.Random.nextInt(4) match {
      case of.unlift(m) => // Convert an optional function to a pattern
        println(m)
      case _ =>
        println("Not matched")
    }

def unzip[A1, A2](implicit asPair: (T) => (A1, A2)): (ArraySeq[A1], ArraySeq[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

def unzip3[A1, A2, A3](implicit asTriple: (T) => (A1, A2, A3)): (ArraySeq[A1], ArraySeq[A2], ArraySeq[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

def updated[B >: T](index: Int, elem: B): ArraySeq[B]

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

B

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

index

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

elem

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

возвращает

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

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

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

def view: IndexedSeqView[T]

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

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

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

def withFilter(p: (T) => Boolean): WithFilter[T, [_]ArraySeq[_]]

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

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

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

p

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

returns

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

Definition Classes
IterableOps

def zip[B](that: IterableOnce[B]): ArraySeq[(T, B)]

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

B

тип второй половины возвращаемых пар

that

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

returns

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

Definition Classes
StrictOptimizedIterableOps → IterableOps

def zipAll[A1 >: T, B](that: collection.Iterable[B], thisElem: A1, thatElem: B): ArraySeq[(A1, B)]

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

that

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

thisElem

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

thatElem

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

returns

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

Definition Classes
IterableOps

def zipWithIndex: ArraySeq[(T, Int)]

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

returns

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

Definition Classes
StrictOptimizedIterableOps → IterableOps → IterableOnceOps
Пример:

    List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Note

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

Затенённые неявные члены Value

def length(): Int

Неявный
Этот член добавлен неявным преобразованием из ArraySeq[T] вSeqCharSequence, выполненным методом SeqCharSequence в scala.Predef.Это преобразование будет выполнено только в том случае, если T является подклассом Char (T <: Char).
Затенение
Этот неявный унаследованный член затеневается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:
(arraySeq: SeqCharSequence).length()
Классы-определения
SeqCharSequence → CharSequence

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

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

Неявный
Этот член добавлен неявным преобразованием из ArraySeq[T] вSeqCharSequence, выполненным методом SeqCharSequence в scala.Predef.Это преобразование будет выполнено только в том случае, если T является подклассом Char (T <: Char).
Затенение
Этот неявный унаследованный член затеневается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:
(arraySeq: SeqCharSequence).toString()
Классы-определения
SeqCharSequence → CharSequence → AnyRef → Any

© 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/mutable/ArraySeq.html

Spec-Zone.ru

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