Трейт scala.collection.IndexedSeqOptimized
trait IndexedSeqOptimized[+A, +Repr] extends IndexedSeqLike[A, Repr]
Типовые члены
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]
Копия последовательности с добавленным элементом в начало.
Обратите внимание, что операторы, оканчивающиеся двоеточием, являются правоассоциативными (см. пример). Мемоническая подсказка для +: по сравнению с :+: двоеточие ставится со стороны коллекции.
Кроме того, исходная последовательность не изменяется, поэтому необходимо захватить результат.
Пример:
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]
Копия этой последовательности с добавленным элементом в конец.
Мемоническая подсказка для +: по сравнению с :+: двоеточие ставится со стороны коллекции.
Пример:
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]
Создает новую коллекцию, применяя частичную функцию ко всем элементам этого набора, для которых функция определена.
- 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
Копирует элементы этой последовательности в массив. Заполняет массив xs не более чем len элементами этой последовательности, начиная с позиции start. Копирование остановится, как только будет достигнут конец текущей последовательности или конец целевого массива, или будет скопировано len элементов.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество копируемых элементов.
- Определяющие классы
- IndexedSeqOptimized → IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этой последовательности в массив. Заполняет массив xs значениями из этой последовательности. Копирование остановится, как только будет достигнут конец текущей последовательности или конец целевого массива.
- xs
массив для заполнения.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этой последовательности в массив. Заполняет массив 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]
Вычисляет разность множеств между этой последовательностью и другой последовательностью.
- 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]
Строит новую коллекцию, применяя функцию ко всем элементам этой последовательности и используя элементы полученных коллекций.
Например:
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
Применяет функцию 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
Находит индекс первого вхождения значения в этой последовательности после или на определенном начальном индексе.
- elem
значение элемента, для поиска.
- from
начальный индекс
- returns
индекс
>= fromпервого элемента этой последовательности, который равен (как определяется==) значениюelem, или-1, если такового нет.
- Definition Classes
- GenSeqLike
def indexOf(elem: A): Int
Находит индекс первого вхождения значения в этой последовательности.
- 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]
Вычисляет пересечение мультимножеств между этой последовательностью и другой последовательностью.
- 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
Находит индекс последнего вхождения некоторого значения в этой последовательности до или на заданном индексе конца.
- elem
значение искомого элемента.
- end
индекс конца.
- возвращает
индекс
<= endпоследнего элемента этой последовательности, который равен (как определяется==)elem, или-1, если такового нет.
- Классы определения
- GenSeqLike
def lastIndexOf(elem: A): Int
Находит индекс последнего вхождения некоторого значения в этой последовательности.
- 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]
Создаёт новую коллекцию, применяя функцию ко всем элементам этой последовательности.
- B
тип элемента возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- returns
новая последовательность, полученная путём применения заданной функции
fк каждому элементу этой последовательности и сбора результатов.
- Definition Classes
- TraversableLike → GenTraversableLike → FilterMonadic
def max: A
Находит наибольший элемент.
- returns
наибольший элемент этой последовательности.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли эта последовательность пуста.
def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
первый элемент этой последовательности с наибольшим значением, измеряемым функцией f.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли эта последовательность пуста.
def min: A
Находит наименьший элемент.
- returns
наименьший элемент этой последовательности
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли эта последовательность пуста.
def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наименьшее значение, измеренное функцией 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]
Копия этой последовательности с добавленным элементом значения до тех пор, пока не будет достигнута заданная целевая длина.
- 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]
Создаёт новую последовательность, где фрагмент элементов в этой последовательности заменяется другой последовательностью.
- 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
Перемножает элементы этой коллекции.
- 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]
Создаёт новую коллекцию, применяя функцию ко всем элементам этой последовательности и собирая результаты в обратном порядке.
Примечание: 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
- See also
scala.math.Ordering Примечание: не будет завершаться для коллекций бесконечного размера.
val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
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
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
Суммирует элементы этой коллекции.
- возвращает
сумму всех элементов в этой последовательности чисел типа
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]
Преобразует эту последовательность в другую, копируя все элементы.
- Col
Тип коллекции для построения.
- возвращает
новая коллекция, содержащая все элементы этой последовательности.
- Определяющие классы
- TraversableLike → TraversableOnce → GenTraversableOnce
def toArray: Array[A]
Преобразует эту последовательность в массив.
- возвращает
массив, содержащий все элементы этой последовательности. Должен быть доступен
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]
Преобразует эту последовательность в карту. Этот метод недоступен, если элементы не являются членами 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]
Создаёт новую последовательность, которая содержит все элементы этой последовательности и также все элементы заданной последовательности. 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]
Копия этой последовательности с одним заменённым элементом.
- 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)]
Возвращает последовательность, образованную из этой последовательности и другой итерируемой коллекции, объединяя соответствующие элементы в пары. Если одна из двух коллекций длиннее другой, её оставшиеся элементы игнорируются.
- B
тип второй половины возвращаемых пар
- that
итерируемая коллекция, предоставляющая вторую половину каждой пары результата
- returns
новая последовательность, содержащая пары, состоящие из соответствующих элементов этой последовательности и
that. Длина возвращаемой коллекции - минимальная из длин этой последовательности иthat.
- Definition Classes
- IndexedSeqOptimized → IterableLike → GenIterableLike
def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): IndexedSeq[(A, B)]
Возвращает последовательность, образованную из этой последовательности и другой итерируемой коллекции, комбинируя соответствующие элементы парами. Если одна из двух коллекций короче другой, используются заполнители для расширения более короткой коллекции до длины более длинной.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- thisElem
элемент, используемый для заполнения результата, если эта последовательность короче
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче этой последовательности.- returns
новая последовательность, содержащая пары, состоящие из соответствующих элементов этой последовательности и
that. Длина возвращаемой коллекции равна максимальной длине этой последовательности иthat. Если эта последовательность корочеthat, значенияthisElemиспользуются для дополнения результата. Еслиthatкороче этой последовательности, значенияthatElemиспользуются для дополнения результата.
- Definition Classes
- IterableLike → GenIterableLike
def zipWithIndex: IndexedSeq[(A, Int)]
Объединяет эту последовательность с её индексами.
- 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
Шаблонный трейт для индексированных последовательностей типа
IndexedSeq[A], оптимизирующий реализацию нескольких методов при условии быстрой случайной выборки.Индексированные последовательности поддерживают доступ к элементам и вычисление длины за постоянное или почти постоянное время. Они определяются в терминах абстрактных методов
applyдля индексирования иlength.Индексированные последовательности не добавляют новых методов к
Seq, но обещают эффективную реализацию операций случайного доступа.