Spec-Zone.ru › Scala 2.12 Library

Трейт scala.collection.GenTraversableLike

trait GenTraversableLike[+A, +Repr] extends GenTraversableOnce[A] with Parallelizable[A, ParIterable[A]]

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

Источник
GenTraversableLike.scala
Линейные супертипы
Известные подклассы

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

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

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

B

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

That

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

that

перебираемая коллекция для добавления.

bf

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

returns

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

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

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

Примечание: /: — это альтернативная синтаксическая конструкция foldLeft; z /: xs эквивалентно xs foldLeft z.

Примеры:

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

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

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

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

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

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

B

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

z

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

op

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

returns

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

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

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

Definition Classes
GenTraversableOnce

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

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

Примечание: :\ — это альтернативная синтаксическая конструкция foldRight; xs :\ z эквивалентно xs foldRight z.

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

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

Примеры:

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

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

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

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

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

z

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

op

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

returns

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

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

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

Definition Classes
GenTraversableOnce

abstract 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
GenTraversableOnce

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

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

p

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

returns

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

Definition Classes
GenTraversableOnce

abstract def drop(n: Int): Repr

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

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

n

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

returns

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

abstract def dropWhile(pred: (A) ⇒ Boolean): Repr

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

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

pred

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

returns

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

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

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

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

p

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

returns

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

Definition Classes
GenTraversableOnce

abstract def filter(pred: (A) ⇒ Boolean): Repr

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

pred

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

returns

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

abstract def filterNot(pred: (A) ⇒ Boolean): Repr

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

pred

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

returns

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

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

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

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

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

p

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

returns

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

Definition Classes
GenTraversableOnce

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

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

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

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

A1

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

z

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

op

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

returns

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

Definition Classes
GenTraversableOnce

abstract 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
GenTraversableOnce

abstract 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
GenTraversableOnce

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

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

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

p

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

returns

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

Definition Classes
GenTraversableOnce

abstract def getClass(): Class[_]

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

returns

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

Definition Classes
Any

abstract def groupBy[K](f: (A) ⇒ K): GenMap[K, Repr]

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

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

K

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

f

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

returns

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

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

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

abstract def hasDefiniteSize: Boolean

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def head: A

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

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

returns

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

Exceptions thrown

NoSuchElementException, если общий набор пуст.

abstract def headOption: Option[A]

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

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

returns

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

abstract def init: Repr

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

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

returns

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

Exceptions thrown

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

abstract def isEmpty: Boolean

Проверяет, пуста ли коллекция или итератор.

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

returns

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

Definition Classes
GenTraversableOnce

abstract def isTraversableAgain: Boolean

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

returns

true

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

абстрактный def last: A

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

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

returns

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

Исключения

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

абстрактный def lastOption: Option[A]

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

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

returns

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

абстрактный def mkString: String

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

returns

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

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

абстрактный def mkString(sep: String): String

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

sep

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

returns

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

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

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

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

абстрактный def nonEmpty: Boolean

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

returns

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

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

абстрактный def parCombiner: Combiner[A, ParIterable[A]]

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

returns

комбинатор для параллельной коллекции типа ParRepr

Атрибуты
protected[this]
Классы-определения
Parallelizable

абстрактный def partition(pred: (A) ⇒ Boolean): (Repr, Repr)

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

pred

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

returns

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

абстрактный def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1

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

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

A1

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

op

Ассоциативный бинарный оператор.

returns

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

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

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

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

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

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

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

B

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

op

бинарная операция.

returns

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

Definition Classes
GenTraversableOnce

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

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

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

A1

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

op

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

returns

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

Definition Classes
GenTraversableOnce

abstract 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
GenTraversableOnce
Exceptions thrown

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

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

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

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

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

B

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

op

бинарная операция.

returns

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

Definition Classes
GenTraversableOnce

abstract def repr: Repr

abstract 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

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

abstract 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

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

abstract 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

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

Annotations
@migration
Migration

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

abstract def seq: TraversableOnce[A]

Definition Classes
Parallelizable

abstract def size: Int

Размер этой обобщённой коллекции.

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

returns

количество элементов в этой обобщённой коллекции.

Definition Classes
GenTraversableLike → GenTraversableOnce

abstract def slice(unc_from: Int, unc_until: Int): Repr

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

from <= indexOf(x) < until

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

unc_from

минимальный индекс для включения из этой обобщённой коллекции.

unc_until

минимальный индекс для исключения из этой обобщённой коллекции.

returns

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

abstract def span(pred: (A) ⇒ Boolean): (Repr, Repr)

Разделяет эту обобщённую коллекцию на пару префикс/суффикс согласно предикату.

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

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

pred

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

returns

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

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

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

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

n

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

returns

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

abstract def stringPrefix: String

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

returns

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

abstract def tail: Repr

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

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

returns

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

Exceptions thrown

UnsupportedOperationException, если обобщённая коллекция пуста.

abstract def take(n: Int): Repr

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

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

n

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

возвращает

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

abstract def takeWhile(pred: (A) ⇒ Boolean): Repr

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

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

pred

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

возвращает

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

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

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

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

возвращает

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

Definition Classes
GenTraversableOnce

abstract def toIndexedSeq: immutable.IndexedSeq[A]

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

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

возвращает

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

Definition Classes
GenTraversableOnce

abstract def toIterable: GenIterable[A]

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

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

возвращает

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

Definition Classes
GenTraversableOnce

abstract def toIterator: Iterator[A]

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

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

возвращает

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

Definition Classes
GenTraversableOnce

abstract def toList: List[A]

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

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

возвращает

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

Definition Classes
GenTraversableOnce

abstract def toSeq: GenSeq[A]

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

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

возвращает

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

Definition Classes
GenTraversableOnce

abstract def toSet[A1 >: A]: GenSet[A1]

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

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

возвращает

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

Definition Classes
GenTraversableOnce

abstract def toStream: Stream[A]

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

возвращает

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

Definition Classes
GenTraversableOnce

abstract def toTraversable: GenTraversable[A]

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

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

возвращает

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

Definition Classes
GenTraversableOnce

abstract def toVector: Vector[A]

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

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

возвращает

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

Definition Classes
GenTraversableOnce

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

final def !=(arg0: Any): Boolean

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

возвращает

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

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

final def ##(): Int

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

возвращает

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

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

def +(other: String): String

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

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

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

final def ==(arg0: Any): Boolean

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

возвращает

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

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

final def asInstanceOf[T0]: T0

Преобразование объекта-приемника к типу T0.

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

возвращает

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

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

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

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

[случаи использования]

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

B

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

pf

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

возвращает

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

Полная подпись

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

[случаи использования]

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

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

xs

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

start

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

len

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

Определяющие классы
GenTraversableOnce
Полная подпись

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

[use case]

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

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

xs

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

start

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

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

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

[use case]

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

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

xs

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

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

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

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

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

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

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

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

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

Неявный
Этот член добавлен неявным преобразованием из GenTraversableLike[A, Repr] в Ensuring[GenTraversableLike[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 и y.equals(z) возвращает true, то x.equals(z) должен возвращать true.

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

возвращает

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

Definition Classes
Any

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

[use case]

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

Например:

def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")

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

// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)

// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap (word => word.toSeq)

// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)

// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
B

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

f

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

returns

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

Полная подпись

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

[use case]

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

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

f

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

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

def formatted(fmtstr: Строка): Строка

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

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

def hashCode(): Целое

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

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

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

returns

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

Definition Classes
Any

final def isInstanceOf[T0]: Булево

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

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

returns

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

Definition Classes
Any

abstract def map[B](f: (A) ⇒ B): GenTraversable[B]

[use case]

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

B

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

f

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

returns

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

Полная подпись

abstract def max: A

[use case]

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

returns

наибольший элемент этой общей коллекции.

Definition Classes
GenTraversableOnce
Полная подпись
Exceptions thrown

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

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

[use case]

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

B

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

f

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

returns

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

Definition Classes
GenTraversableOnce
Полная подпись
Exceptions thrown

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

abstract def min: A

[use case]

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

returns

наименьший элемент этого общего набора

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

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

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

[use case]

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

B

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

f

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

returns

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

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

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

def par: ParIterable[A]

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

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

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

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

returns

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

Definition Classes
Parallelizable

abstract def product: A

[use case]

Перемножает элементы этого набора.

returns

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

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

def sizeHintIfCheap: Int

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

returns

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

Attributes
protected[collection]
Definition Classes
GenTraversableOnce

abstract def sum: A

[use case]

Суммирует элементы этого набора.

returns

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

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

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

[use case]

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

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

Col

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

returns

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

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

abstract def toArray: Array[A]

[use case]

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

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

returns

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

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

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

[use case]

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

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

returns

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

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

def toParArray: ParArray[T]

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

def toString(): String

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

По умолчанию представление зависит от платформы.

возвращает

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

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

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

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

© 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/GenTraversableLike.html

Spec-Zone.ru

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