Spec-Zone.ru › Scala 2.12 Library

Трейт scala.collection.IndexedSeqOptimized

trait IndexedSeqOptimized[+A, +Repr] extends IndexedSeqLike[A, Repr]

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

Индексированные последовательности поддерживают доступ к элементам и вычисление длины за постоянное или почти постоянное время. Они определяются в терминах абстрактных методов apply для индексирования и length.

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

Self Type
IndexedSeqOptimized[A, Repr]
Source
IndexedSeqOptimized.scala
Линейные супертипы
Известные подклассы

Типовые члены

class Elements extends AbstractIterator[A] with BufferedIterator[A] with Serializable

Класс итератора, возвращаемого методом iterator. несколько take, drop, и slice операций над этим итератором объединяются для повышения эффективности.

Attributes
protected
Definition Classes
IndexedSeqLike
Annotations
@SerialVersionUID()

type Self = Repr

Тип, реализующий эту последовательность

Attributes
protected[this]
Definition Classes
TraversableLike

class WithFilter extends FilterMonadic[A, Repr]

Класс, поддерживающий отфильтрованные операции. Экземпляры этого класса возвращаются методом withFilter.

Definition Classes
TraversableLike

Абстрактные члены-значения

abstract def apply(idx: Int): A

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

Пример:

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

scala> x(3)
res1: Int = 4
idx

Индекс для выбора.

returns

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

Definition Classes
SeqLike → GenSeqLike
Исключения

IndexOutOfBoundsException если idx не удовлетворяет 0 <= idx < length.

abstract def getClass(): Class[_]

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

returns

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

Definition Classes
Any

abstract def length: Int

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

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

Примечание: xs.length и xs.size дают одинаковый результат.

returns

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

Definition Classes
SeqLike → GenSeqLike
Исключения

IllegalArgumentException если длина последовательности не может быть представлена в Int, например, (-1 to Int.MaxValue).length.

abstract def newBuilder: Builder[A, Repr]

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

Attributes
protected[this]
Definition Classes
TraversableLike → HasNewBuilder

abstract def seq: IndexedSeq[A]

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

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

returns

последовательный вид коллекции.

Definition Classes
IndexedSeqLike → GenSeqLike → Parallelizable → TraversableOnce → GenTraversableOnce

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

final def !=(arg0: Any): Boolean

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

возвращает

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

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

final def ##(): Int

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

возвращает

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

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

def +(other: String): String

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

def ++[B >: A, That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That

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

B

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

That

класс возвращаемой коллекции. Где возможно, That совпадает с классом текущей коллекции Repr, но это зависит от того, допускается ли тип элемента B для данного класса, что означает, что найден неявный экземпляр типа CanBuildFrom[Repr, B, That].

that

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

bf

явное значение класса CanBuildFrom, которое определяет класс результата That по типу текущей репрезентации Repr и новому типу элемента B.

возвращает

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

Определяющие классы
TraversableLike → GenTraversableLike

def ++:[B >: A, That](that: Traversable[B])(implicit bf: CanBuildFrom[Repr, B, That]): That

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

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

Пример:

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

scala> val y = LinkedList(2)
y: scala.collection.mutable.LinkedList[Int] = LinkedList(2)

scala> val z = x ++: y
z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)

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

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

B

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

That

класс возвращаемой коллекции. Где возможно, That совпадает с классом текущей коллекции Repr, но это зависит от того, допускается ли тип элемента B для данного класса, что означает, что найден неявный экземпляр типа CanBuildFrom[Repr, B, That].

that

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

bf

явное значение класса CanBuildFrom, которое определяет класс результата That по типу текущей репрезентации Repr и новому типу элемента B.

возвращает

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

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

def ++:[B](that: TraversableOnce[B]): IndexedSeq[B]

[пример использования]

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

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

Пример:

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

scala> val y = LinkedList(2)
y: scala.collection.mutable.LinkedList[Int] = LinkedList(2)

scala> val z = x ++: y
z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)
B

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

that

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

возвращает

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

Определяющие классы
TraversableLike
Полная сигнатура

def +:(elem: A): IndexedSeq[A]

[use case]

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

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

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

Пример:

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)
elem

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

returns

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

Классы определений
SeqLike → GenSeqLike
Полная сигнатура

def ->[B](y: B): (IndexedSeqOptimized[A, Repr], B)

Неявный
Этот член добавляется неявным преобразованием из IndexedSeqOptimized[A, Repr] в ArrowAssoc[IndexedSeqOptimized[A, Repr]] с помощью метода ArrowAssoc в scala.Predef.
Классы определений
ArrowAssoc
Аннотации
@inline()

def /:[B](z: B)(op: (B, A) ⇒ B): B

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

Примечание: /: - это альтернативный синтаксис для foldLeft; z /: xs эквивалентно xs foldLeft z.

Примеры:

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

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

scala> val b = (5 /: a)(_+_)
b: Int = 15

scala> val c = (5 /: a)((x,y) => x + y)
c: Int = 15

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

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

B

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

z

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

op

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

returns

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

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

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

Классы определений
TraversableOnce → GenTraversableOnce

def :+(elem: A): IndexedSeq[A]

[use case]

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

Мемоническая подсказка для +: по сравнению с :+: двоеточие ставится со стороны коллекции.

Пример:

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)
elem

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

returns

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

Классы определений
SeqLike → GenSeqLike
Полная сигнатура

def :\[B](z: B)(op: (A, B) ⇒ B): B

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

Примечание: :\ - это альтернативный синтаксис для foldRight; xs :\ z эквивалентно xs foldRight z.

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

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

Примеры:

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

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

scala> val b = (a :\ 5)(_+_)
b: Int = 15

scala> val c = (a :\ 5)((x,y) => x + y)
c: Int = 15
B

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

z

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

op

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

returns

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

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

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

Классы определений
TraversableOnce → GenTraversableOnce

final def ==(arg0: Any): Boolean

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

returns

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

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

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

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

returns

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

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

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

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

returns

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

Definition Classes
TraversableOnce

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

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

returns

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

Definition Classes
TraversableOnce

def aggregate[B](z: ⇒ B)(seqop: (B, A) ⇒ B, combop: (B, B) ⇒ B): B

Агрегирует результаты применения оператора к последующим элементам.

Это более общая форма fold и reduce. Аналогично foldLeft, так как результат не требует быть супертипом типа элемента. Кроме того, позволяет обрабатывать параллельные коллекции частями и объединять промежуточные результаты.

aggregate разделяет перебираемый объект или итератор на части и обрабатывает каждую часть последовательно, применяя seqop, начиная с z (как foldLeft). Затем промежуточные результаты объединяются с помощью combop (как fold). Реализация этой операции может работать с произвольным количеством частей коллекции (даже 1), поэтому combop может быть вызвана произвольное количество раз (даже 0).

Например, рассмотрим суммирование целочисленных значений списка символов. Начальное значение для суммы равно 0. Сначала seqop преобразует каждый входной символ в целое число и добавляет его к сумме (части). Затем combop просто суммирует промежуточные результаты частей:

List('a', 'b', 'c').aggregate(0)({ (sum, ch) => sum + ch.toInt }, { (p1, p2) => p1 + p2 })
B

тип накопленных результатов

z

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

seqop

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

combop

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

Definition Classes
TraversableOnce → GenTraversableOnce

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
IterableLike → Equals

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

[use case]

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

B

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

pf

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike
Полная сигнатура

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

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

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

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

pf

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

возвращает

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

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

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

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

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

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

возвращает

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

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

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

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

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

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

elem

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

возвращает

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

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

def containsSlice[B](that: GenSeq[B]): Boolean

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

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

that

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

возвращает

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

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

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

[use case]

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

xs

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

start

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

len

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

Определяющие классы
IndexedSeqOptimized → IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
Полная сигнатура

def copyToArray(xs: Array[A]): Unit

[use case]

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

xs

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

Определяющие классы
TraversableOnce → GenTraversableOnce
Полная сигнатура

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

[use case]

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

xs

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

start

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

Определяющие классы
TraversableOnce → GenTraversableOnce
Полная сигнатура

def copyToBuffer[B >: A](dest: Buffer[B]): Unit

Копирует все элементы этого перебираемого объекта или итератора в буфер.

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

dest

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

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

def corresponds[B](that: GenSeq[B])(p: (A, B) ⇒ Boolean): Boolean

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

B

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

that

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

p

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

returns

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

Definition Classes
SeqLike → GenSeqLike

def count(p: (A) ⇒ Boolean): Int

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

p

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def diff(that: Seq[A]): IndexedSeq[A]

[use case]

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

that

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

returns

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

Definition Classes
SeqLike → GenSeqLike
Полная сигнатура

def distinct: Repr

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

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

returns

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

Definition Classes
SeqLike → GenSeqLike

def drop(n: Int): Repr

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

n

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

returns

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

Definition Classes
IndexedSeqOptimized → IterableLike → TraversableLike → GenTraversableLike

def dropRight(n: Int): Repr

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

n

Количество элементов для взятия

returns

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

Definition Classes
IndexedSeqOptimized → IterableLike

def dropWhile(p: (A) ⇒ Boolean): Repr

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

returns

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

Definition Classes
IndexedSeqOptimized → TraversableLike → GenTraversableLike

def endsWith[B](that: GenSeq[B]): Boolean

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

that

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

returns

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

Definition Classes
IndexedSeqOptimized → SeqLike → GenSeqLike

def ensuring(cond: (IndexedSeqOptimized[A, Repr]) ⇒ Boolean, msg: ⇒ Any): IndexedSeqOptimized[A, Repr]

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

def ensuring(cond: (IndexedSeqOptimized[A, Repr]) ⇒ Boolean): IndexedSeqOptimized[A, Repr]

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

def ensuring(cond: Boolean, msg: ⇒ Any): IndexedSeqOptimized[A, Repr]

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

def ensuring(cond: Boolean): IndexedSeqOptimized[A, Repr]

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

def equals(that: Any): Boolean

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

that

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

возвращает

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

Definition Classes
GenSeqLike → Equals → Any

def exists(p: (A) ⇒ Boolean): Boolean

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

p

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

возвращает

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

Definition Classes
IndexedSeqOptimized → IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

def filter(p: (A) ⇒ Boolean): Repr

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

p

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

возвращает

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

Definition Classes
TraversableLike → GenTraversableLike

def filterNot(p: (A) ⇒ Boolean): Repr

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

p

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

возвращает

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

Definition Classes
TraversableLike → GenTraversableLike

def find(p: (A) ⇒ Boolean): Option[A]

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

p

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

returns

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

Definition Classes
IndexedSeqOptimized → IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): IndexedSeq[B]

[use case]

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

Например:

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 => 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
TraversableLike → GenTraversableLike → FilterMonadic
Полная сигнатура

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

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

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

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

A1

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

z

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

op

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

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

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

B

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

z

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

op

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

returns

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

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

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

Definition Classes
IndexedSeqOptimized → TraversableOnce → GenTraversableOnce

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

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

B

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

z

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

op

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

returns

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

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

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

Definition Classes
IndexedSeqOptimized → IterableLike → TraversableOnce → GenTraversableOnce

def forall(p: (A) ⇒ Boolean): Boolean

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

p

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

returns

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

Definition Classes
IndexedSeqOptimized → IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

def foreach(f: (A) ⇒ Unit): Unit

[use case]

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

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

f

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

Definition Classes
IndexedSeqOptimized → IterableLike → TraversableLike → GenTraversableLike → TraversableOnce → GenTraversableOnce → FilterMonadic
Полная сигнатура

def formatted(fmtstr: String): String

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

Неявный
Этот член добавляется неявным преобразованием из IndexedSeqOptimized[A, Repr] в StringFormat[IndexedSeqOptimized[A, Repr]] с помощью метода StringFormat в scala.Predef.
Definition Classes
StringFormat
Аннотации
@inline()

def groupBy[K](f: (A) ⇒ K): immutable.Map[K, Repr]

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

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

K

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

f

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

возвращает

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

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

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

Definition Classes
TraversableLike → GenTraversableLike

def grouped(size: Int): Iterator[Repr]

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

size

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

возвращает

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

Definition Classes
IterableLike
См. также

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

def hasDefiniteSize: Boolean

Проверяет, известен ли размер этой итерируемой коллекции. Все строгие коллекции имеют конечный размер. Для нестрогой коллекции, например, Stream, предикат возвращает true если все элементы вычислены. Он возвращает false если поток еще не до конца обработан. Непустые итераторы обычно возвращают false даже если они были созданы из коллекции с известным конечным размером.

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

возвращает

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

Definition Classes
TraversableLike → TraversableOnce → GenTraversableOnce

def hashCode(): Int

Хеш-коды для IndexedSeq генерируют значение из хеш-кодов всех элементов последовательности.

возвращает

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

Definition Classes
IndexedSeqLike → GenSeqLike → Any

def head: A

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

возвращает

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

Definition Classes
IndexedSeqOptimized → IterableLike → TraversableLike → GenTraversableLike
Исключения

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

def headOption: Option[A]

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

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

возвращает

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

Definition Classes
TraversableLike → GenTraversableLike

def indexOf(elem: A, from: Int): Int

[use case]

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

elem

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

from

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

returns

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

Definition Classes
GenSeqLike
Полная сигнатура

def indexOf(elem: A): Int

[use case]

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

elem

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

returns

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

Definition Classes
GenSeqLike
Полная сигнатура

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

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

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

that

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

from

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

returns

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

Definition Classes
SeqLike

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

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

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

that

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

returns

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

Definition Classes
SeqLike

def indexWhere(p: (A) ⇒ Boolean, from: Int): Int

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

p

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

from

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

returns

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

Definition Classes
IndexedSeqOptimized → SeqLike → GenSeqLike

def indexWhere(p: (A) ⇒ Boolean): Int

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

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

p

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

returns

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

Definition Classes
GenSeqLike

def indices: immutable.Range

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

returns

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

Definition Classes
SeqLike

def init: Repr

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

returns

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

Definition Classes
IndexedSeqOptimized → TraversableLike → GenTraversableLike
Exceptions thrown

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

def inits: Iterator[Repr]

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

returns

итератор по всем начальным сегментам (inits) этой коллекции

Definition Classes
TraversableLike
Пример:

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

def intersect(that: Seq[A]): IndexedSeq[A]

[use case]

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

that

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

возвращает

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

Классы определения
SeqLike → GenSeqLike
Полная сигнатура

def isDefinedAt(idx: Int): Boolean

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

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

idx

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

возвращает

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

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

def isEmpty: Boolean

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

возвращает

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

Классы определения
IndexedSeqOptimized → SeqLike → IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

final def isInstanceOf[T0]: Boolean

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

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

возвращает

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

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

final def isTraversableAgain: Boolean

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

возвращает

true

Классы определения
TraversableLike → GenTraversableLike → GenTraversableOnce

def iterator: Iterator[A]

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

возвращает

новый итератор

Классы определения
IndexedSeqLike → IterableLike → GenIterableLike

def last: A

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

возвращает

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

Классы определения
IndexedSeqOptimized → TraversableLike → GenTraversableLike
Исключения

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

def lastIndexOf(elem: A, end: Int): Int

[use case]

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

elem

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

end

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

возвращает

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

Классы определения
GenSeqLike
Полная сигнатура

def lastIndexOf(elem: A): Int

[use case]

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

elem

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

возвращает

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

Классы определения
GenSeqLike
Полная сигнатура

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

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

that

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

end

индекс конца

возвращает

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

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

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

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

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

that

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

returns

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

Definition Classes
SeqLike

def lastIndexWhere(p: (A) ⇒ Boolean, end: Int): Int

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

p

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

returns

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

Definition Classes
IndexedSeqOptimized → SeqLike → GenSeqLike

def lastIndexWhere(p: (A) ⇒ Boolean): Int

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

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

p

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

returns

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

Definition Classes
GenSeqLike

def lastOption: Option[A]

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

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 недорого.

Definition Classes
IndexedSeqOptimized → SeqLike

def map[B](f: (A) ⇒ B): IndexedSeq[B]

[use case]

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

B

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

f

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike → FilterMonadic
Полная сигнатура

def max: A

[use case]

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

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

def maxBy[B](f: (A) ⇒ B): A

[use case]

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

B

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

f

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

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

def min: A

[use case]

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

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

def minBy[B](f: (A) ⇒ B): A

[use case]

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

B

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

f

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

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

def mkString: String

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def mkString(sep: String): String

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

sep

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce
Пример:

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

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

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

start

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

sep

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

end

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce
Пример:

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

def nonEmpty: Boolean

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def padTo(len: Int, elem: A): IndexedSeq[A]

[use case]

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

len

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

elem

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

returns

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

Definition Classes
SeqLike → GenSeqLike
Полная сигнатура

def par: ParSeq[A]

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

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

Определённые наборы (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельный набор, который разделяет тот же базовый набор данных. Для этих наборов par занимает постоянное или подлинейное время.

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

returns

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

Definition Classes
Parallelizable

def parCombiner: Combiner[A, ParSeq[A]]

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

returns

комбинировщик для параллельного набора типа ParRepr

Attributes
protected[this]
Definition Classes
SeqLike → TraversableLike → Parallelizable

def partition(p: (A) ⇒ Boolean): (Repr, Repr)

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

p

предикат, по которому нужно разделить.

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def patch(from: Int, that: GenSeq[A], replaced: Int): IndexedSeq[A]

[use case]

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

from

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

replaced

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

returns

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

Definition Classes
SeqLike → GenSeqLike
Полная сигнатура

def permutations: Iterator[Repr]

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

returns

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

Definition Classes
SeqLike
Пример:

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

def prefixLength(p: (A) ⇒ Boolean): Int

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

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

p

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

returns

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

Definition Classes
GenSeqLike

def product: A

[use case]

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

returns

произведение всех элементов в этой последовательности чисел типа Int. Вместо Int, может быть использован любой другой тип T с неявным Numeric[T] реализацией, который может использоваться в качестве типа элемента последовательности и как тип результата product. Примерами таких типов являются: Long, Float, Double, BigInt.

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура

def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1

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

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

A1

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

op

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce
Exceptions thrown

UnsupportedOperationException, если эта проходимая коллекция или итератор пустые.

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

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

B

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

op

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

returns

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

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

где x1, ..., xn — элементы этой последовательности.

Definition Classes
IndexedSeqOptimized → TraversableOnce
Exceptions thrown

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

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

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

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

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

B

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

op

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def reduceOption[A1 >: A](op: (A1, A1) ⇒ A1): Option[A1]

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

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

A1

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

op

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

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

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

B

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

op

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

returns

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

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

где x1, ..., xn — элементы этой последовательности.

Definition Classes
IndexedSeqOptimized → IterableLike → TraversableOnce → GenTraversableOnce
Exceptions thrown

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

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

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

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

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

B

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

op

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def repr: Repr

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

Definition Classes
TraversableLike → GenTraversableLike

def reverse: Repr

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

returns

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

Definition Classes
IndexedSeqOptimized → SeqLike → GenSeqLike

def reverseIterator: Iterator[A]

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

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

returns

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

Definition Classes
IndexedSeqOptimized → SeqLike

def reverseMap[B](f: (A) ⇒ B): IndexedSeq[B]

[use case]

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

Примечание: xs.reverseMap(f) то же самое, что и xs.reverse.map(f), но может быть более эффективным.

B

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

f

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

returns

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

Definition Classes
SeqLike → GenSeqLike
Полная сигнатура

def reversed: List[A]

Attributes
protected[this]
Definition Classes
TraversableOnce

def sameElements(that: GenIterable[A]): Boolean

[сценарий использования]

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

that

коллекция для сравнения.

возвращает

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

Классы определения
IndexedSeqOptimized → IterableLike → GenIterableLike
Полная сигнатура

def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Repr, B, That]): That

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

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

B

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

That

тип результирующей коллекции

z

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

op

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

cbf

фабрика комбинирования, предоставляющая комбинирование

возвращает

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

Классы определения
TraversableLike → GenTraversableLike

def scanLeft[B, That](z: B)(op: (B, A) ⇒ B)(implicit bf: CanBuildFrom[Repr, B, That]): That

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

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

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

B

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

That

фактический тип результирующей коллекции

z

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

op

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

bf

неявное значение класса CanBuildFrom, которое определяет класс результата That из текущего типа представления Repr и нового типа элемента B.

возвращает

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

Классы определения
TraversableLike → GenTraversableLike

def scanRight[B, That](z: B)(op: (A, B) ⇒ B)(implicit bf: CanBuildFrom[Repr, B, That]): That

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

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

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

Пример:

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

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

That

фактический тип результирующей коллекции

z

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

op

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

bf

неявное значение класса CanBuildFrom, которое определяет класс результата That из текущего типа представления Repr и нового типа элемента B.

возвращает

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

Классы определения
TraversableLike → GenTraversableLike
Аннотации
@migration
Миграция

(Изменено в версии 2.9.0) Поведение scanRight изменилось. Предыдущее поведение можно воспроизвести с помощью scanRight.reverse.

def segmentLength(p: (A) ⇒ Boolean, from: Int): Int

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

p

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

from

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

возвращает

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

Классы определения
IndexedSeqOptimized → SeqLike → GenSeqLike

def size: Int

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

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

возвращает

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

Классы определения
SeqLike → GenTraversableLike → TraversableOnce → GenTraversableOnce

def sizeHintIfCheap: Int

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

returns

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

Attributes
protected[collection]
Definition Classes
IndexedSeqLike → GenTraversableOnce

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

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

from <= indexOf(x) < until
returns

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

Definition Classes
IndexedSeqOptimized → IterableLike → TraversableLike → GenTraversableLike

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

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

size

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

step

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

returns

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

Definition Classes
IterableLike
See also

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

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

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

size

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

returns

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

Definition Classes
IterableLike
See also

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

def sortBy[B](f: (A) ⇒ B)(implicit ord: math.Ordering[B]): Repr

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

B

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

f

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

ord

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

returns

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

Definition Classes
SeqLike
Пример:
    val words = "The quick brown fox jumped over the lazy dog".split(' ')
    // this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
    words.sortBy(x => (x.length, x.head))
    res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
See also

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

def sortWith(lt: (A, A) ⇒ Boolean): Repr

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

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

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

lt

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

returns

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

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

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

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

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

ord

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

returns

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

Definition Classes
SeqLike
See also

scala.math.Ordering

def span(p: (A) ⇒ Boolean): (Repr, Repr)

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

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

возвращает

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

Классы-определения
IndexedSeqOptimized → TraversableLike → GenTraversableLike

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

Разделяет эту последовательность на две части в заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

n

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

возвращает

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

Классы-определения
IndexedSeqOptimized → TraversableLike → GenTraversableLike

def startsWith[B](that: GenSeq[B], offset: Int): Boolean

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

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

that

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

offset

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

возвращает

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

Классы-определения
IndexedSeqOptimized → SeqLike → GenSeqLike

def startsWith[B](that: GenSeq[B]): Boolean

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

that

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

возвращает

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

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

def stringPrefix: String

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

возвращает

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

Классы-определения
TraversableLike → GenTraversableLike

def sum: A

[use case]

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

возвращает

сумму всех элементов в этой последовательности чисел типа Int. Вместо Int, любой другой тип T с неявной Numeric[T] реализацией может использоваться в качестве типа элементов последовательности и в качестве типа результата sum. Примеры таких типов: Long, Float, Double, BigInt.

Классы-определения
TraversableOnce → GenTraversableOnce
Полная подпись

def tail: Repr

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

возвращает

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

Классы-определения
IndexedSeqOptimized → TraversableLike → GenTraversableLike
Исключения

java.lang.UnsupportedOperationException, если последовательность пуста.

def tails: Iterator[Repr]

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

возвращает

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

Классы-определения
TraversableLike
Пример:

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

def take(n: Int): Repr

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

n

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

возвращает

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

Классы-определения
IndexedSeqOptimized → IterableLike → TraversableLike → GenTraversableLike

def takeRight(n: Int): Repr

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

n

количество элементов для взятия

возвращает

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

Определяющие классы
IndexedSeqOptimized → IterableLike

def takeWhile(p: (A) ⇒ Boolean): Repr

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

возвращает

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

Определяющие классы
IndexedSeqOptimized → IterableLike → TraversableLike → GenTraversableLike

def thisCollection: IndexedSeq[A]

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

Атрибуты
protected[this]
Определяющие классы
IndexedSeqLike → SeqLike → IterableLike → TraversableLike

def to[Col[_]]: Col[A]

[use case]

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

Col

Тип коллекции для построения.

возвращает

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

Определяющие классы
TraversableLike → TraversableOnce → GenTraversableOnce
Полная сигнатура

def toArray: Array[A]

[use case]

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

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce
Полная сигнатура

def toBuffer[A1 >: A]: Buffer[A1]

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

возвращает

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

Определяющие классы
IndexedSeqLike → TraversableOnce → GenTraversableOnce

def toCollection(repr: Repr): IndexedSeq[A]

Преобразование из коллекций типа Repr в объекты IndexedSeq. По умолчанию реализовано как просто приведение типа, но может быть переопределено.

Атрибуты
protected[this]
Определяющие классы
IndexedSeqLike → SeqLike → IterableLike → TraversableLike

def toIndexedSeq: immutable.IndexedSeq[A]

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

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

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce

def toIterable: Iterable[A]

Возвращает это итерируемое хранилище как итерируемое хранилище.

Новая коллекция не будет построена; ленивые коллекции останутся ленивыми.

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

возвращает

итерируемое хранилище, содержащее все элементы этого итерируемого хранилища.

Определяющие классы
IterableLike → TraversableOnce → GenTraversableOnce

def toIterator: Iterator[A]

Возвращает итератор по элементам в этом итерируемом хранилище. Производит тот же результат, что и iterator.

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

возвращает

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

Определяющие классы
IterableLike → TraversableLike → GenTraversableOnce
Аннотации
@deprecatedOverriding( message = ... , since = "2.11.0" )

def toList: List[A]

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

returns

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

Definition Classes
IndexedSeqOptimized → TraversableOnce → GenTraversableOnce

def toMap[T, U]: Map[T, U]

[use case]

Преобразует эту последовательность в карту. Этот метод недоступен, если элементы не являются членами Tuple2, каждый ((T, U)) становится парой ключ-значение в карте. Дублирующиеся ключи будут перезаписываться последующими ключами: если это неупорядоченная коллекция, ключ в результирующей карте не определён.

returns

карта типа immutable.Map[T, U] содержащая все пары ключ/значение типа (T, U) этой последовательности.

Definition Classes
TraversableOnce → GenTraversableOnce
Полная подпись

def toParArray: ParArray[T]

Неявный
Этот член добавлен неявным преобразованием из IndexedSeqOptimized[A, Repr] в CollectionsHaveToParArray[IndexedSeqOptimized[A, Repr], T] выполняемым методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только если неявное значение типа (IndexedSeqOptimized[A, Repr]) ⇒ GenTraversableOnce[T] находится в области видимости.
Definition Classes
CollectionsHaveToParArray

def toSeq: Seq[A]

Преобразует эту последовательность в последовательность.

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

Новая коллекция не будет создана; в частности, ленивые последовательности останутся ленивыми.

returns

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

Definition Classes
SeqLike → GenSeqLike → TraversableOnce → GenTraversableOnce

def toSet[B >: A]: immutable.Set[B]

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

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

returns

множество, содержащее все элементы этого обхода или итератора.

Definition Classes
TraversableOnce → GenTraversableOnce

def toStream: immutable.Stream[A]

Преобразует эту итерируемую коллекцию в поток.

returns

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

Definition Classes
IterableLike → TraversableLike → GenTraversableOnce

def toString(): String

Преобразует эту последовательность в строку.

returns

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

Definition Classes
SeqLike → TraversableLike → Any

def toTraversable: Traversable[A]

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

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

returns

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

Definition Classes
TraversableLike → TraversableOnce → GenTraversableOnce
Annotations
@deprecatedOverriding( message = ... , since = "2.11.0" )

def toVector: Vector[A]

Преобразует этот обход или итератор в вектор.

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def union(that: Seq[A]): IndexedSeq[A]

[use case]

Создаёт новую последовательность, которая содержит все элементы этой последовательности и также все элементы заданной последовательности. xs union ys эквивалентно xs ++ ys.

Другой способ выразить это - xs union ys вычисляет сохраняющее порядок объединение множеств xs и ys. union является поэтому аналогом diff и intersect, которые также работают с множествами.

that

последовательность, которую нужно добавить.

returns

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

Definition Classes
SeqLike → GenSeqLike
Полная подпись

def updated(index: Int, elem: A): IndexedSeq[A]

[use case]

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

index

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

elem

заменяющий элемент

returns

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

Definition Classes
SeqLike → GenSeqLike
Полная подпись

def view(from: Int, until: Int): SeqView[A, Repr]

Создаёт нестрогую (non-strict) проекцию подпоследовательности этой последовательности.

Примечание: разница между view и slice в том, что view создаёт проекцию текущей последовательности, тогда как slice создаёт новую последовательность.

Примечание: view(from, to) эквивалентно view.slice(from, to)

from

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

until

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

returns

нестрогая (non-strict) проекция подпоследовательности этой последовательности, начинающейся с индекса from и продолжающейся до (но не включая) индекса until.

Definition Classes
SeqLike → IterableLike → TraversableLike

def view: SeqView[A, Repr]

Создаёт нестрогую (non-strict) проекцию этой последовательности.

returns

нестрогая (non-strict) проекция этой последовательности.

Definition Classes
SeqLike → IterableLike → TraversableLike

def withFilter(p: (A) ⇒ Boolean): FilterMonadic[A, Repr]

Создаёт нестрогую (non-strict) фильтрацию этой коллекции.

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

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

p

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

returns

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

Definition Classes
TraversableLike → FilterMonadic

def zip[B](that: GenIterable[B]): IndexedSeq[(A, B)]

[use case]

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

B

тип второй половины возвращаемых пар

that

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

returns

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

Definition Classes
IndexedSeqOptimized → IterableLike → GenIterableLike
Полная подпись

def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): IndexedSeq[(A, B)]

[use case]

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

B

тип второй половины возвращаемых пар

that

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

thisElem

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

thatElem

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

returns

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

Definition Classes
IterableLike → GenIterableLike
Полная сигнатура

def zipWithIndex: IndexedSeq[(A, Int)]

[use case]

Объединяет эту последовательность с её индексами.

returns

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

Definition Classes
IndexedSeqOptimized → IterableLike → GenIterableLike
Полная сигнатура
Пример:

    List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))

def →[B](y: B): (IndexedSeqOptimized[A, Repr], B)

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

Члены-значения с затемнённым неявным значением

def filter(p: (A) ⇒ Boolean): TraversableOnce[A]

Неявный
Этот член добавлен благодаря неявной конверсии из IndexedSeqOptimized[A, Repr] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Затемнение
Этот неявный унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(indexedSeqOptimized: MonadOps[A]).filter(p)
Определяющие классы
MonadOps

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]

Неявный
Этот член добавлен благодаря неявной конверсии из IndexedSeqOptimized[A, Repr] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Затемнение
Этот неявный унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(indexedSeqOptimized: MonadOps[A]).flatMap(f)
Определяющие классы
MonadOps

def map[B](f: (A) ⇒ B): TraversableOnce[B]

Неявный
Этот член добавлен благодаря неявной конверсии из IndexedSeqOptimized[A, Repr] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Затемнение
Этот неявный унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(indexedSeqOptimized: MonadOps[A]).map(f)
Определяющие классы
MonadOps

def withFilter(p: (A) ⇒ Boolean): Iterator[A]

Неявный
Этот член добавлен благодаря неявной конверсии из IndexedSeqOptimized[A, Repr] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Затемнение
Этот неявный унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(indexedSeqOptimized: MonadOps[A]).withFilter(p)
Определяющие классы
MonadOps

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/IndexedSeqOptimized.html

Spec-Zone.ru

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