Spec-Zone.ru › Scala 2.12 Library

Трейт scala.collection.TraversableLike

Трейт TraversableLike[+A, +Repr] extends HasNewBuilder[A, Repr] with FilterMonadic[A, Repr] with TraversableOnce[A] with GenTraversableLike[A, Repr] with Parallelizable[A, ParIterable[A]]

Шаблонный трейт для коллекций, перебираемых типа Traversable[A].

Это базовый трейт для всех видов коллекций Scala. Он реализует поведение, общее для всех коллекций, в терминах метода foreach с сигнатурой:

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

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

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

Экземпляры строгой коллекции вычисляют все свои элементы, прежде чем они могут быть использованы как значения. В отличие от этого, экземпляры нестрогой коллекции могут отложить вычисление некоторых своих элементов до момента, когда экземпляр доступен как значение. Типичным примером нестрогой коллекции является scala.collection.immutable.Stream. Более общей категорией примеров являются TraversableViews.

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

Типичным примером класса коллекции, который не является упорядоченным, является HashMap объектов. Порядок обхода для хэш-таблиц будет зависеть от хэш-кодов элементов, и эти хэш-коды могут отличаться от одного запуска к другому. В отличие от этого, LinkedHashMap упорядочен, потому что его метод foreach посещает элементы в том порядке, в котором они были вставлены в HashMap.

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

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

тип Self = Repr

Тип, реализующий этот перебор

Атрибуты
protected[this]

класс WithFilter extends FilterMonadic[A, Repr]

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

Абстрактные Значения Членов

абстрактный def getClass(): Class[_]

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

возвращает

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

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

абстрактный def newBuilder: Builder[A, Repr]

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

Атрибуты
protected[this]
Определяющие Классы
TraversableLike → HasNewBuilder

абстрактный def seq: TraversableOnce[A]

Определяющие Классы
Parallelizable

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

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

Неявный
Этот член добавляется неявным преобразованием из TraversableLike[A, Repr] в any2stringadd[TraversableLike[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.

def ++:[B](that: TraversableOnce[B]): Traversable[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.

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

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

Неявный
Этот член добавлен неявным преобразованием из TraversableLike[A, Repr] в ArrowAssoc[TraversableLike[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

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

возвращает

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

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

где x1, ..., xn — элементы этого итерируемого объекта или итератора.

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

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

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

возвращает

результат вставки 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).

возвращает

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

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

возвращает

строковый буфер 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

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

возвращает

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

Классы определений
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

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

возвращает

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

Классы определений
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
Исключения

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

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

[use case]

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

B

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

pf

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

returns

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

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

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

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

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

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

pf

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

returns

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

Definition Classes
TraversableOnce
Пример:

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

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

[use case]

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

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

xs

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

start

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

len

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

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

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

[use case]

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

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

xs

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

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

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

[use case]

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

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

xs

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

start

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

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

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

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

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

dest

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

Definition Classes
TraversableOnce

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

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

p

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def drop(n: Int): Repr

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

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

n

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

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

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

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

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

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

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

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

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

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

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

def equals(arg0: Any): Boolean

Сравнивает объект-получатель (this) с объектом-аргументом (that) на эквивалентность.

Любая реализация этого метода должна быть отношением эквивалентности:

    Он рефлексивен: для любого экземпляра x типа Any, x.equals(x) должен возвращать true.Он симметричен: для любых экземпляров x и y типа Any, x.equals(y) должен возвращать true тогда и только тогда, когда y.equals(x) возвращает true.Он транзитивен: для любых экземпляров x, y и z типа Any, если x.equals(y) возвращает true и true, то x.equals(z) должен возвращать true.

Если вы переопределяете этот метод, вы должны убедиться, что ваша реализация остаётся отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode для обеспечения того, что объекты, которые «равны» (o1.equals(o2) возвращает true), имеют одинаковый хэш-код scala.Int. (o1.hashCode.equals(o2.hashCode)).

возвращает

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

Definition Classes
Any

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

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

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

p

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

возвращает

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

Definition Classes
TraversableLike → TraversableOnce → GenTraversableOnce

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

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

p

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

возвращает

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

Definition Classes
TraversableLike → GenTraversableLike

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

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

p

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

возвращает

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

Definition Classes
TraversableLike → GenTraversableLike

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

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

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

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

p

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

возвращает

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

Definition Classes
TraversableLike → TraversableOnce → GenTraversableOnce

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Traversable[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

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

возвращает

новый итерируемый набор, полученный путём применения заданной функции, принимающей коллекцию 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
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
TraversableOnce → GenTraversableOnce

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

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

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

p

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

returns

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

Definition Classes
TraversableLike → TraversableOnce → GenTraversableOnce

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

[use case]

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

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

f

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

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

def formatted(fmtstr: String): String

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

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

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

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

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

K

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

f

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

returns

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

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

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

Definition Classes
TraversableLike → GenTraversableLike

def hasDefiniteSize: Boolean

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

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

returns

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

Definition Classes
TraversableLike → TraversableOnce → GenTraversableOnce

def hashCode(): Int

Вычисляет значение хэша для объекта.

По умолчанию алгоритм хэширования зависит от платформы.

Обратите внимание, что для двух объектов разрешается иметь одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)) но не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация могла бы всегда возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true ), у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода убедитесь, что поведение согласуется с методом equals.

returns

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

Definition Classes
Any

def head: A

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike
Exceptions thrown

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

def headOption: Option[A]

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def init: Repr

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike
Exceptions thrown

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

def inits: Iterator[Repr]

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

returns

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

Пример:

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

def isEmpty: Boolean

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

returns

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

Definition Classes
TraversableLike → TraversableOnce → GenTraversableOnce

final def isInstanceOf[T0]: Boolean

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

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

returns

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

Definition Classes
Any

final def isTraversableAgain: Boolean

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

returns

true

Definition Classes
TraversableLike → GenTraversableLike → GenTraversableOnce

def last: A

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

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

returns

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

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

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

def lastOption: Option[A]

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def map[B](f: (A) ⇒ B): Traversable[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 par: ParIterable[A]

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

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

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

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

returns

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

Definition Classes
Parallelizable

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

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

returns

объединитель для параллельного набора типа ParRepr

Attributes
protected[this]
Definition Classes
TraversableLike → Parallelizable

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

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

p

предикат для разделения.

returns

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

Definition Classes
TraversableLike → GenTraversableLike

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
Исключения

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
TraversableOnce
Exceptions thrown

UnsupportedOperationException, если этот итерируемый объект пуст.

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

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

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

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

B

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

op

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

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

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

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

A1

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

op

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

returns

Вариант значения, содержащий результат применения оператора reduce op между всеми элементами, если коллекция не пуста, и 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
TraversableOnce → GenTraversableOnce
Exceptions thrown

UnsupportedOperationException, если этот итерируемый объект пуст.

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

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

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

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

B

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

op

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def repr: Repr

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

Definition Classes
TraversableLike → GenTraversableLike

def reversed: List[A]

Attributes
protected[this]
Definition Classes
TraversableOnce

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

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

returns

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

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

returns

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike
Annotations
@migration
Migration

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

def size: Int

Размер этой traversable или итератора.

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

returns

количество элементов в этой traversable или итераторе.

Definition Classes
TraversableOnce → GenTraversableOnce

def sizeHintIfCheap: Int

Размер этой коллекции или итератора, если он может быть вычислен без больших затрат

returns

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

Attributes
protected[collection]
Definition Classes
GenTraversableOnce

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

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

from <= indexOf(x) < until

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

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

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

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

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

возвращает

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

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

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

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

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

n

позиция разделения.

возвращает

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

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

def stringPrefix: String

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

возвращает

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

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

def sum: A

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

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

возвращает

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

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

def tail: Repr

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

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

возвращает

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

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

java.lang.UnsupportedOperationException если итерируемая коллекция пуста.

def tails: Iterator[Repr]

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

возвращает

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

Пример:

    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 отрицательно, возвращает пустую итерируемую коллекцию.

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

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

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

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

возвращает

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

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

def thisCollection: Traversable[A]

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

Атрибуты
protected[this]

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

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

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

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

Col

Тип коллекции для создания.

возвращает

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

Классы-определения
TraversableLike → TraversableOnce → GenTraversableOnce
Полная сигнатура

def toArray: Array[A]

[use case]

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

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

возвращает

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

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

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

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

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

возвращает

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

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

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

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

Атрибуты
protected[this]

def toIndexedSeq: immutable.IndexedSeq[A]

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

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

возвращает

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

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

def toIterable: Iterable[A]

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

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

возвращает

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

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

def toIterator: Iterator[A]

Возвращает итератор по элементам в этом итерируемом множестве. Вернёт тот же итератор, если этот экземпляр уже является итератором.

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

возвращает

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

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

def toList: List[A]

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

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

возвращает

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

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

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

[use case]

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

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

возвращает

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

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

def toParArray: ParArray[T]

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

def toSeq: Seq[A]

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

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

возвращает

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

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

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

Преобразует этот итерируемый объект или итератор в множество.

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

возвращает

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

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

def toStream: Stream[A]

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

возвращает

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

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

def toString(): String

Преобразует эту коллекцию итерируемых объектов в строку.

возвращает

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

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

def toTraversable: Traversable[A]

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

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

возвращает

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

Классы-определения
TraversableLike → TraversableOnce → GenTraversableOnce
Аннотации
@deprecatedOverriding( message = ... , since = "2.11.0" )

def toVector: Vector[A]

Преобразует этот итерируемый объект или итератор в вектор.

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

возвращает

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

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

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

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

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

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

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

from

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

until

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

возвращает

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

def view: TraversableView[A, Repr]

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

возвращает

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

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

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

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

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

p

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

возвращает

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

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

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

Неявный
Этот член добавлен неявным преобразованием из TraversableLike[A, Repr] в ArrowAssoc[TraversableLike[A, Repr]] с помощью метода ArrowAssoc в scala.Predef.
Классы-определения
ArrowAssoc

Затенённые неявные члены

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

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

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

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

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

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

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

Неявный
Этот член добавлен неявным преобразованием из TraversableLike[A, Repr] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Затенение
Этот неявно унаследованный член затенён одним или несколькими членами в этом классе.
Чтобы получить доступ к этому члену, можно использовать привязку типа:
(traversableLike: 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/TraversableLike.html

Spec-Zone.ru

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