Трейт 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]]
Типовые Члены
тип 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]
Создает новую коллекцию, применяя частичную функцию ко всем элементам этой коллекции, для которых функция определена.
- 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
Копирует элементы этой коллекции в массив. Заполняет данный массив xs не более чем len элементами из этой коллекции, начиная с позиции start. Копирование прекратится, как только будет достигнут конец текущей коллекции, конец целевого массива или len элементов будут скопированы.
Примечание: не будет завершаться для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество копируемых элементов.
- Definition Classes
- TraversableLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этой коллекции в массив. Заполняет данный массив xs значениями из этой коллекции. Копирование прекратится, как только будет достигнут конец текущей коллекции или конец целевого массива.
Примечание: не будет завершаться для коллекций бесконечного размера.
- xs
массив для заполнения.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этой коллекционной структуры в массив. Заполняет указанный массив 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]
Строит новый набор, применяя функцию ко всем элементам этого итерируемого набора и используя элементы полученных наборов.
Например:
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
Применяет функцию 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]
Создает новую коллекцию, применяя функцию ко всем элементам этой коллекции.
- 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 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
Вычисляет произведение элементов этого набора.
- 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]
Преобразует это итерируемое множество в массив.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
массив, содержащий все элементы этого итерируемого множества. Тип элемента этого итерируемого множества должен быть совместим с типом данных массива.
- Определяющие классы
- 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]
Преобразует это итерируемое множество в карту. Этот метод недоступен, если элементы не являются членами 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
Шаблонный трейт для коллекций, перебираемых типа
Traversable[A].Это базовый трейт для всех видов коллекций Scala. Он реализует поведение, общее для всех коллекций, в терминах метода
foreachс сигнатурой:Классы коллекций, смешивающие этот трейт, предоставляют конкретный метод
foreachкоторый перебирает все элементы, содержащиеся в коллекции, применяя заданную функцию к каждому из них. Они также должны предоставить методnewBuilderдля создания билдера для коллекций того же типа.Класс перебираемых объектов может или не может иметь два свойства: строгость и упорядоченность. Ни одно из них не представлено как тип.
Экземпляры строгой коллекции вычисляют все свои элементы, прежде чем они могут быть использованы как значения. В отличие от этого, экземпляры нестрогой коллекции могут отложить вычисление некоторых своих элементов до момента, когда экземпляр доступен как значение. Типичным примером нестрогой коллекции является scala.collection.immutable.Stream. Более общей категорией примеров являются
TraversableViews.Если коллекция является экземпляром упорядоченного класса коллекций, прохождение по ее элементам с помощью
foreachвсегда будет посещать элементы в том же порядке, даже для разных запусков программы. Если класс неупорядочен,foreachможет посещать элементы в разном порядке для разных запусков (но сохранит тот же порядок в одном запуске).Типичным примером класса коллекции, который не является упорядоченным, является
HashMapобъектов. Порядок обхода для хэш-таблиц будет зависеть от хэш-кодов элементов, и эти хэш-коды могут отличаться от одного запуска к другому. В отличие от этого,LinkedHashMapупорядочен, потому что его методforeachпосещает элементы в том порядке, в котором они были вставлены вHashMap.