Spec-Zone.ru › Scala 2.12 Library

Трейт scala.collection.GenTraversableOnce

trait GenTraversableOnce[+A] extends Any

Шаблонный трейт для всех объектов traversable-once, которые можно проходить параллельно.

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

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

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

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

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

возвращает

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

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

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

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

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

возвращает

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

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

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

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

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

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

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

p

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

возвращает

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

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

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

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

p

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

возвращает

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

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

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

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

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

p

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

возвращает

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

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

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

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

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

A1

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

z

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

op

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

returns

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

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 если этот набор или итератор пустой.

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 если этот набор или итератор пустой.

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

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

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

p

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

returns

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

abstract def getClass(): Class[_]

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

returns

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

Definition Classes
Any

abstract def hasDefiniteSize: Boolean

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

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

returns

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

abstract def isEmpty: Boolean

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

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

returns

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

abstract def isTraversableAgain: Boolean

Проверяет, можно ли многократно пройти по этому набору или итератору. Всегда истинно для Traversables и ложно для Iterators, если не переопределено.

returns

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

abstract def mkString: String

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

returns

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

abstract def mkString(sep: String): String

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

sep

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

returns

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

Пример:

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

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

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

start

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

sep

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

end

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

returns

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

Пример:

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

abstract def nonEmpty: Boolean

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

returns

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

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

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

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

A1

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

op

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

returns

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

Исключения

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

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

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

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

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

B

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

op

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

returns

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

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

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

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

A1

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

op

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

returns

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

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 - элементы этой коллекции или итератора.

Исключения

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

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

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

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

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

B

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

op

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

returns

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

abstract def seq: TraversableOnce[A]

abstract def size: Int

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

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

returns

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

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

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

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

returns

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

abstract def toIndexedSeq: immutable.IndexedSeq[A]

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

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

returns

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

abstract def toIterable: GenIterable[A]

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

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

returns

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

abstract def toIterator: Iterator[A]

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

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

returns

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

abstract def toList: List[A]

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

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

returns

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

abstract def toSeq: GenSeq[A]

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

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

returns

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

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

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

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

returns

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

abstract def toStream: Stream[A]

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

returns

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

abstract def toTraversable: GenTraversable[A]

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

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

returns

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

abstract def toVector: Vector[A]

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

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

returns

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

Члены-значения

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

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

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

Неявный
Этот член добавлен неявным преобразованием из GenTraversableOnce[A] в ArrowAssoc[GenTraversableOnce[A]] выполненное методом 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 copyToArray(xs: Array[A], start: Int, len: Int): Unit

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

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

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

xs

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

start

индекс начала.

len

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

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

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

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

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

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

xs

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

start

индекс начала.

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

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

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

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

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

xs

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

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

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

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

def ensuring(cond: (GenTraversableOnce[A]) ⇒ Boolean): GenTraversableOnce[A]

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

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

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

def ensuring(cond: Boolean): GenTraversableOnce[A]

Неявный
Этот член добавляется неявным преобразованием из GenTraversableOnce[A] в Ensuring[GenTraversableOnce[A]] с помощью метода Ensuring в scala.Predef.
Определяющие классы
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 в противном случае.

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

абстрактный def foreach(f: (A) ⇒ Unit): Unit

[use case]

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

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

f

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

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

def formatted(fmtstr: String): String

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

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

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

final def isInstanceOf[T0]: Boolean

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

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

returns

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

Definition Classes
Any

abstract def max: A

[use case]

Найти максимальный элемент.

returns

максимальный элемент этого набора или итератора.

Полная подпись
Исключения

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

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

[use case]

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

B

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

f

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

returns

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

Полная подпись
Исключения

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

abstract def min: A

[use case]

Найти минимальный элемент.

returns

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

Полная подпись
Исключения

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

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

[use case]

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

B

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

f

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

returns

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

Полная подпись
Исключения

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

abstract def product: A

[use case]

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

returns

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

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

def sizeHintIfCheap: Int

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

returns

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

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

abstract def sum: A

[use case]

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

returns

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

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

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

[use case]

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

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

Col

Тип набора для создания.

returns

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

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

abstract def toArray: Array[A]

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

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

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

возвращает

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

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

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

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

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

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

возвращает

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

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

def toString(): String

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

Стандартное представление зависит от платформы.

возвращает

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

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

def →[B](y: B): (GenTraversableOnce[A], B)

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

Spec-Zone.ru

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