Spec-Zone.ru › Scala 2.12 Library

Трейт scala.collection.GenIterableLike

trait GenIterableLike[+A, +Repr] extends GenTraversableLike[A, Repr]

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

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

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

Абстрактные члены значения

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

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

B

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

That

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

that

перебираемый объект для добавления.

bf

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

returns

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

Definition Classes
GenTraversableLike

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

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

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

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

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

pred

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

returns

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

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

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

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

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

p

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

returns

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

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

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

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

pred

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

returns

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

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

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

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

pred

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

returns

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

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

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

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

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

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

p

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

returns

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

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

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

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

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

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

A1

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

z

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

op

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

returns

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

Определяющие классы
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, если эта коллекция или итератор пуст.

Определяющие классы
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.

Definition Classes
GenTraversableLike

abstract def hasDefiniteSize: Boolean

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def head: A

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

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

returns

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

Definition Classes
GenTraversableLike
Exceptions thrown

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

abstract def headOption: Option[A]

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

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

returns

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

Definition Classes
GenTraversableLike

abstract def init: Repr

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

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

returns

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

Definition Classes
GenTraversableLike
Exceptions thrown

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

abstract def isEmpty: Boolean

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def isTraversableAgain: Boolean

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

returns

true

Definition Classes
GenTraversableLike → GenTraversableOnce

abstract def iterator: Iterator[A]

abstract def last: A

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

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

returns

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

Definition Classes
GenTraversableLike
Exceptions thrown

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

abstract def lastOption: Option[A]

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

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

returns

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

Definition Classes
GenTraversableLike

abstract def mkString: String

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

returns

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

Definition Classes
GenTraversableOnce

abstract def mkString(sep: String): String

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

sep

разделитель.

returns

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

Definition Classes
GenTraversableOnce
Пример:

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

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

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

start

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

sep

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

end

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

returns

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

Definition Classes
GenTraversableOnce
Пример:

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

abstract def nonEmpty: Boolean

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

returns

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

Definition Classes
GenTraversableOnce

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

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

returns

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

Attributes
protected[this]
Definition Classes
Parallelizable

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

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

pred

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

returns

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

Definition Classes
GenTraversableLike

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

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

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

A1

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

op

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

returns

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

Definition Classes
GenTraversableOnce
Исключения

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

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

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

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

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

B

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

op

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

returns

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

Definition Classes
GenTraversableOnce

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

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

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

A1

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

op

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

returns

Значение опции, содержащее результат применения оператора 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
Исключения

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

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

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

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

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

B

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

op

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

returns

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

Definition Classes
GenTraversableOnce

abstract def repr: Repr

Definition Classes
GenTraversableLike

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

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

Definition Classes
GenTraversableLike

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

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

Definition Classes
GenTraversableLike

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

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

Definition Classes
GenTraversableLike
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 этой общей коллекции.

Definition Classes
GenTraversableLike

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

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

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

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

pred

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

returns

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

Definition Classes
GenTraversableLike

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

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

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

n

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

returns

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

Definition Classes
GenTraversableLike

abstract def stringPrefix: String

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

returns

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

Definition Classes
GenTraversableLike

abstract def tail: Repr

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

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

returns

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

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

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

abstract def take(n: Int): Repr

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

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

n

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

returns

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

Definition Classes
GenTraversableLike

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

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

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

pred

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

returns

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

Definition Classes
GenTraversableLike

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

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toIndexedSeq: immutable.IndexedSeq[A]

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toIterable: GenIterable[A]

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toIterator: Iterator[A]

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toList: List[A]

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toSeq: GenSeq[A]

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

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

returns

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

Definition Classes
GenTraversableOnce

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

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toStream: Stream[A]

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toTraversable: GenTraversable[A]

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

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

returns

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

Definition Classes
GenTraversableOnce

abstract def toVector: Vector[A]

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

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

returns

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

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

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

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

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

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

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

на которых она определена.

B

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

pf

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

возвращает

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

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

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

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

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

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

xs

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

start

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

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

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

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

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

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

xs

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

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

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

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

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

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

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

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

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

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

abstract def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): GenIterable[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 к каждому элементу этой обобщённой итерируемой коллекции и конкатенации результатов.

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

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

[use case]

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

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

f

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

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

def formatted(fmtstr: String): String

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

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

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 map[B](f: (A) ⇒ B): GenIterable[B]

[use case]

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

B

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

f

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

returns

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

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

abstract def max: A

[use case]

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

returns

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

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

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

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

[use case]

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

B

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

f

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

returns

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

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

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
Полная сигнатура

abstract def sameElements(that: GenIterable[A]): Boolean

[use case]

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

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

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

that

набор для сравнения.

returns

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

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

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]

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

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

возвращает

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

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

абстрактный def toMap[T, U]: Map[T, U]

[use case]

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

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

возвращает

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

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

def toParArray: ParArray[T]

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

def toString(): String

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

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

возвращает

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

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

абстрактный def zip[B](that: GenIterable[B]): GenIterable[(A, B)]

[use case]

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

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

B

тип второй половины возвращенных пар

that

Итерируемый объект, предоставляющий вторую половину каждой пары результата

возвращает

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

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

абстрактный def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): GenIterable[(A, B)]

[use case]

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

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

B

тип второй половины возвращенных пар

that

Итерируемый объект, предоставляющий вторую половину каждой пары результата

thisElem

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

thatElem

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

возвращает

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

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

абстрактный def zipWithIndex: GenIterable[(A, Int)]

[use case]

Объединяет эту общую итерируемую коллекцию с ее индексами.

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

возвращает

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

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

    List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))

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

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

Spec-Zone.ru

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