Spec-Zone.ru › Scala 2.12 Library

Trait scala.collection.TraversableOnce

Companion object TraversableOnce

trait TraversableOnce[+A] extends GenTraversableOnce[A]

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

Этот интерфейс существует в основном для устранения дублирования кода между Iterator и Traversable, и поэтому реализует некоторые общие методы, которые могут быть реализованы только через foreach без доступа к Builder. Он также включает ряд абстрактных методов, реализации которых предоставляются Iterator, Traversable, и т. д. Он содержит реализации, общие для Iterators и Traversables, такие как свертки, преобразования и другие операции, которые проходят по некоторым или всем элементам и возвращают производное значение. Не рекомендуется прямо наследовать от TraversableOnce - вместо этого рассмотрите объявление Iterator с методом next и hasNext или создание Iterator с одним из методов объекта Iterator. Рассмотрите возможность объявления подкласса Traversable, если элементы могут быть пройдены многократно.

Self Type
TraversableOnce[A]
Source
TraversableOnce.scala
Since

2.8

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

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

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

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

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

p

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

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

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

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

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

p

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

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

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

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

p

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

abstract def getClass(): Class[_]

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

returns

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

Definition Classes
Any

abstract def hasDefiniteSize: Boolean

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

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

abstract def isEmpty: Boolean

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

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

abstract def isTraversableAgain: Boolean

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

returns

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

Definition Classes
GenTraversableOnce

abstract def seq: TraversableOnce[A]

Версия этой коллекции со всеми операциями, реализованными последовательно (т.е. в однопоточном режиме).

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

returns

последовательный вид коллекции.

Definition Classes
TraversableOnce → GenTraversableOnce

abstract def toIterator: Iterator[A]

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toStream: Stream[A]

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toTraversable: Traversable[A]

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

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

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

final def !=(arg0: Any): Boolean

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

возвращает

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

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

final def ##(): Int

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

возвращает

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

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

def +(other: String): String

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

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

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

Добавляет все элементы этого итерируемого объекта или последовательности в строку 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

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

возвращает

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

def addString(b: StringBuilder, sep: String): StringBuilder

Добавляет все элементы этого итерируемого объекта или итератора в строковый билдер с использованием разделительной строки. Записанный текст состоит из строковых представлений (согласно методу toString) всех элементов этого итерируемого объекта или итератора, разделенных строкой sep.

Пример:

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

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
b

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

sep

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

returns

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

def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

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

Пример:

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

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
b

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

start

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

sep

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

end

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

returns

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

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 collectFirst[B](pf: PartialFunction[A, B]): Option[B]

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

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

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

pf

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

returns

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

Пример:

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

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

[use case]

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

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

xs

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

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

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

[use case]

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

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

xs

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

start

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

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

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

[use case]

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

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

xs

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

start

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

len

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

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

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

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

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

dest

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

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

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

p

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

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

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

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

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

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

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

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

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

returns

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

Definition Classes
Any

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

Implicit
Этот член добавлен неявным преобразованием из TraversableOnce[A] в MonadOps[A] методом MonadOps в scala.collection.TraversableOnce.
Definition Classes
MonadOps

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

Implicit
Этот член добавлен неявным преобразованием из TraversableOnce[A] в MonadOps[A] методом MonadOps в scala.collection.TraversableOnce.
Definition Classes
MonadOps

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

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

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

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

A1

тип параметра для бинарного оператора, являющийся надтипом A.

z

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

op

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

returns

результат применения оператора fold 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

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

[use case]

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

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

f

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

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

def formatted(fmtstr: String): String

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

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

возвращает

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

Definition Classes
Any

final def isInstanceOf[T0]: Boolean

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

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

возвращает

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

Definition Classes
Any

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

Неявный
Этот член добавлен неявным преобразованием из TraversableOnce[A] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Definition Classes
MonadOps

def max: A

[use case]

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

возвращает

наибольший элемент этого обходчика или итератора.

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

UnsupportedOperationException, если этот обходчик или итератор пустой.

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

[use case]

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

B

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

f

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

возвращает

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

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

UnsupportedOperationException, если этот обходчик или итератор пустой.

def min: A

[use case]

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

возвращает

наименьший элемент этого обходчика или итератора.

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

UnsupportedOperationException, если этот обходчик или итератор пустой.

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

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

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

B

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

f

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

возвращает

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

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

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

def mkString: String

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

возвращает

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

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

def mkString(sep: String): String

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

sep

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

возвращает

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

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

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

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

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

start

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

sep

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

end

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

возвращает

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

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

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

def nonEmpty: Boolean

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

возвращает

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

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

def product: A

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

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

возвращает

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

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

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

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

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

A1

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

op

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

возвращает

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

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

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

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

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

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

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

B

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

op

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

возвращает

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

op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)

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

Исключения

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

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

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

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

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

B

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

op

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

returns

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

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

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

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

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

A1

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

op

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

returns

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

Определяющие классы
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 являются элементами этого обхода или итератора.

Определяющие классы
TraversableOnce → GenTraversableOnce
Выбрасываемые исключения

UnsupportedOperationException если этот обход или итератор пуст.

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

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

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

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

B

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

op

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

returns

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

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

def reversed: List[A]

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

def size: Int

Размер этого обхода или итератора.

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

returns

количество элементов в этом обходе или итераторе.

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

def sizeHintIfCheap: Int

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

returns

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

Атрибуты
protected[collection]
Определяющие классы
GenTraversableOnce

def sum: A

[use case]

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

returns

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

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

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

[служебный случай]

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

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

Col

Тип коллекции, которую нужно создать.

возвращает

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

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

def toArray: Array[A]

[служебный случай]

Преобразует этот обход или итератор в массив.

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

возвращает

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

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

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

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

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

возвращает

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

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

def toIndexedSeq: immutable.IndexedSeq[A]

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

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

возвращает

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

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

def toIterable: Iterable[A]

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

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

возвращает

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

Классы-определения
TraversableOnce → 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 toSeq: Seq[A]

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

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

возвращает

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

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

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

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

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

возвращает

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

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

def toString(): String

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

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

возвращает

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

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

def toVector: Vector[A]

Преобразует этот обход или итератор в вектор.

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

возвращает

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

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

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

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

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

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

Spec-Zone.ru

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