Трейт scala.collection.GenTraversableLike
trait GenTraversableLike[+A, +Repr] extends GenTraversableOnce[A] with Parallelizable[A, ParIterable[A]]
Члены-значения абстрактного типа
abstract def ++[B >: A, That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That
Возвращает новую общую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов общей коллекции — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
- B
тип элементов возвращаемой коллекции.
- That
класс возвращаемой коллекции. Где это возможно,
That— это тот же класс, что и текущий класс коллекцииRepr, но это зависит от типа элементаB, допускаемого для этого класса, что означает, что найдена неявная instance типаCanBuildFrom[Repr, B, That].- that
перебираемая коллекция для добавления.
- bf
неявное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
новая коллекция типа
That, которая содержит все элементы этой общей коллекции, за которыми следуют все элементыthat.
abstract def /:[B](z: B)(op: (B, A) ⇒ B): B
Применяет бинарный оператор к начальному значению и ко всем элементам этой коллекции или итератора слева направо.
Примечание: /: — это альтернативная синтаксическая конструкция foldLeft; z /: xs эквивалентно xs foldLeft z.
Примеры:
Обратите внимание, что функция сворачивания, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (5 /: a)(_+_) b: Int = 15 scala> val c = (5 /: a)((x,y) => x + y) c: Int = 15
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой коллекции или итератора слева направо с начальным значениемzслева:op(...op(op(z, x_1), x_2), ..., x_n)
где
x1, ..., xn— это элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def :\[B](z: B)(op: (A, B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этой коллекции или итератора и начальному значению, справа налево.
Примечание: :\ — это альтернативная синтаксическая конструкция foldRight; xs :\ z эквивалентно xs foldRight z.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
Примеры:
Обратите внимание, что функция сворачивания, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (a :\ 5)(_+_) b: Int = 15 scala> val c = (a :\ 5)((x,y) => x + y) c: Int = 15
- B
тип результата бинарного оператора.
- z
начальное значение
- op
бинарный оператор
- returns
-
результат вставки
opмежду последовательными элементами этой коллекции или итератора справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— это элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def aggregate[B](z: ⇒ B)(seqop: (B, A) ⇒ B, combop: (B, B) ⇒ B): B
Агрегирует результаты применения оператора к последующим элементам.
Это более общий вид fold и reduce. Он похож на foldLeft тем, что результат не обязательно должен быть супертипом типа элемента. Кроме того, он позволяет обрабатывать параллельные коллекции по частям и затем комбинировать промежуточные результаты.
aggregate разбивает коллекцию или итератор на разделы и обрабатывает каждый раздел последовательно, применяя seqop, начиная с z (как в foldLeft). Затем эти промежуточные результаты объединяются с помощью combop (как в fold). Реализация этой операции может работать с произвольным количеством разделов коллекции (даже с 1), поэтому combop может вызываться произвольное количество раз (даже 0).
Например, рассмотрим суммирование целых значений списка символов. Начальное значение суммы равно 0. Сначала seqop преобразует каждый входной символ в целое число и добавляет его к сумме (раздела). Затем combop просто суммирует промежуточные результаты разделов:
List('a', 'b', 'c').aggregate(0)({ (sum, ch) => sum + ch.toInt }, { (p1, p2) => p1 + p2 })
- B
тип накапливаемых результатов
- z
начальное значение для накапливаемого результата раздела — обычно это нейтральный элемент для оператора
seqop(например,Nilдля конкатенации списков или0для суммирования) и может вычисляться более одного раза- seqop
оператор, используемый для накопления результатов внутри раздела
- combop
ассоциативный оператор, используемый для объединения результатов из разных разделов
- Definition Classes
- GenTraversableOnce
abstract def count(p: (A) ⇒ Boolean): Int
Подсчитывает количество элементов в коллекции или итераторе, удовлетворяющих предикату.
- p
предикат, используемый для проверки элементов.
- returns
количество элементов, удовлетворяющих предикату
p.
- Definition Classes
- GenTraversableOnce
abstract def drop(n: Int): Repr
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно удалить из этой общей коллекции.
- returns
общая коллекция, состоящая из всех элементов этой общей коллекции, кроме первых
nэлементов, или же пустая общая коллекция, если в этой общей коллекции меньше, чемnэлементов. Еслиnотрицательно, то элементы не удаляются.
abstract def dropWhile(pred: (A) ⇒ Boolean): Repr
Удаляет наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- pred
Предикат, используемый для проверки элементов.
- returns
наибольший суффикс этой общей коллекции, первый элемент которого не удовлетворяет предикату
p.
abstract def exists(p: (A) ⇒ Boolean): Boolean
Проверяет, удовлетворяет ли предикату хотя бы один элемент этой коллекции или итератора.
Примечание: может не завершаться для коллекций бесконечного размера.
- p
используемый для проверки элементов предикат.
- returns
true, если заданный предикатpудовлетворяется хотя бы одним элементом этой коллекции или итератора, в противном случаеfalse
- Definition Classes
- GenTraversableOnce
abstract def filter(pred: (A) ⇒ Boolean): Repr
Выбирает все элементы этой общей коллекции, которые удовлетворяют предикату.
- pred
используемый для проверки элементов предикат.
- returns
новая общая коллекция, состоящая из всех элементов этой общей коллекции, удовлетворяющих заданному предикату
p. Порядок элементов может не сохраняться.
abstract def filterNot(pred: (A) ⇒ Boolean): Repr
Выбирает все элементы этой общей коллекции, которые не удовлетворяют предикату.
- pred
используемый для проверки элементов предикат.
- returns
новая общая коллекция, состоящая из всех элементов этой общей коллекции, не удовлетворяющих заданному предикату
p. Порядок элементов может не сохраняться.
abstract def find(p: (A) ⇒ Boolean): Option[A]
Находит первый элемент коллекции или итератора, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен.
- p
используемый для проверки элементов предикат.
- returns
значение типа Option, содержащее первый элемент в коллекции или итераторе, удовлетворяющий предикату
p, илиNone, если такового не существует.
- Definition Classes
- GenTraversableOnce
abstract def fold[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1
Вычисляет результат применения заданного ассоциативного бинарного оператора к элементам коллекции или итератора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
- A1
тип параметр для бинарного оператора, надтип
A.- z
нейтральный элемент для операции fold; может быть добавлен к результату произвольное количество раз, и при этом не изменит результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора
opмежду всеми элементами иz, или жеz, если эта коллекция или итератор пустая.
- Definition Classes
- GenTraversableOnce
abstract def foldLeft[B](z: B)(op: (B, A) ⇒ B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции или итератора, слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой коллекции или итератора, слева направо с начальным значениемzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xn- элементы этой коллекции или итератора. Возвращаетz, если эта коллекция или итератор пустые.
- Definition Classes
- GenTraversableOnce
abstract def foldRight[B](z: B)(op: (A, B) ⇒ B): B
Применяет бинарную операцию ко всем элементам этого набора или итератора и начальному значению, двигаясь справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарной операции.
- z
начальное значение.
- op
бинарная операция.
- returns
-
результат вставки
opмежду последовательными элементами этого набора или итератора, двигаясь справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого набора или итератора. Возвращаетz, если этот набор или итератор пуст.
- Definition Classes
- GenTraversableOnce
abstract def forall(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этого набора или итератора.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
true, если этот набор или итератор пустой или заданный предикатpвыполняется для всех элементов этого набора или итератора, в противном случаеfalse.
- Definition Classes
- GenTraversableOnce
abstract def getClass(): Class[_]
Возвращает представление класса времени выполнения объекта.
- returns
объект класса, соответствующий типу времени выполнения получателя.
- Definition Classes
- Any
abstract def groupBy[K](f: (A) ⇒ K): GenMap[K, Repr]
Разделяет этот общий набор на карту общих наборов в соответствии с некоторой функцией-дискриминатором.
Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда будет принудительно использовать представление и возвращать новый общий набор.
- K
тип ключей, возвращаемых функцией-дискриминатором.
- f
функция-дискриминатор.
- returns
-
Карта, сопоставляющая ключи общим наборам, такая что выполняется следующее инвариантное свойство:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kсвязан с общим набором тех элементовx, для которыхf(x)равноk.
abstract def hasDefiniteSize: Boolean
Проверяет, известно ли, что у этого набора или итератора конечный размер. Все строгие наборы известны как имеющие конечный размер. Для нестрогого набора, такого как Stream, предикат возвращает true, если все элементы были вычислены. Он возвращает false, если поток еще не вычисляется до конца. Непустые итераторы обычно возвращают false, даже если они были созданы из коллекции с известным конечным размером.
Примечание: многие методы коллекций не будут работать с коллекциями бесконечных размеров. Типичный режим сбоя — бесконечный цикл. Эти методы всегда пытаются выполнить обход, не проверяя сначала, что hasDefiniteSize возвращает true. Однако проверка hasDefiniteSize может гарантировать, что размер определен и бесконечная итерация не является проблемой.
- returns
true, если у этой коллекции известен конечный размер,falseв противном случае.
- Definition Classes
- GenTraversableOnce
abstract def head: A
Выбирает первый элемент этого общего набора.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
первый элемент этого общего набора.
- Exceptions thrown
NoSuchElementException, если общий набор пуст.
abstract def headOption: Option[A]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
первый элемент этого общего набора, если он не пустой,
None, если он пустой.
abstract def init: Repr
Выбирает все элементы, кроме последнего.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
общий набор, состоящий из всех элементов этого общего набора, кроме последнего.
- Exceptions thrown
UnsupportedOperationException, если общий набор пуст.
abstract def isEmpty: Boolean
Проверяет, пуста ли коллекция или итератор.
Примечание: реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы, когда isEmpty вызывается.
- returns
true, если коллекция или итератор не содержат элементов,falseв противном случае.
- Definition Classes
- GenTraversableOnce
abstract def isTraversableAgain: Boolean
Проверяет, можно ли многократно пройти по этой общей коллекции.
- returns
true
- Классы-определения
- GenTraversableLike → GenTraversableOnce
абстрактный def last: A
Выбирает последний элемент.
Примечание: результаты могут отличаться при разных запусках, если тип базовой коллекции не упорядочен.
- returns
Последний элемент этой общей коллекции.
- Исключения
NoSuchElementExceptionЕсли общая коллекция пуста.
абстрактный def lastOption: Option[A]
Выбирает последний элемент (необязательно).
Примечание: результаты могут отличаться при разных запусках, если тип базовой коллекции не упорядочен.
- returns
последний элемент этой общей коллекции, если она не пустая,
None, если она пустая.
абстрактный def mkString: String
Отображает все элементы этой коллекции или итератора в строке.
- returns
представление этой коллекции или итератора в виде строки. В результирующей строке строковые представления (с помощью метода
toString) всех элементов этой коллекции или итератора следуют друг за другом без разделительной строки.
- Классы-определения
- GenTraversableOnce
абстрактный def mkString(sep: String): String
Отображает все элементы этой коллекции или итератора в строке с использованием разделительной строки.
- sep
разделительная строка.
- returns
представление этой коллекции или итератора в виде строки. В результирующей строке строковые представления (с помощью метода
toString) всех элементов этой коллекции или итератора разделены строкойsep.
- Классы-определения
- GenTraversableOnce
List(1, 2, 3).mkString("|") = "1|2|3"
абстрактный def mkString(start: String, sep: String, end: String): String
Отображает все элементы этой коллекции или итератора в строке с использованием начальной, конечной и разделительных строк.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- returns
представление этой коллекции или итератора в виде строки. Результирующая строка начинается со строки
startи заканчивается строкойend. Между ними строковые представления (с помощью методаtoString) всех элементов этой коллекции или итератора разделяются строкойsep.
- Классы-определения
- GenTraversableOnce
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
абстрактный def nonEmpty: Boolean
Проверяет, не пуста ли коллекция или итератор.
- returns
true, если коллекция или итератор содержит хотя бы один элемент,falseв противном случае.
- Классы-определения
- GenTraversableOnce
абстрактный def parCombiner: Combiner[A, ParIterable[A]]
Реализация par по умолчанию использует комбинатор, предоставленный этим методом, для создания новой параллельной коллекции.
- returns
комбинатор для параллельной коллекции типа
ParRepr
- Атрибуты
- protected[this]
- Классы-определения
- Parallelizable
абстрактный def partition(pred: (A) ⇒ Boolean): (Repr, Repr)
Разделяет эту общую коллекцию на две общие коллекции в соответствии с предикатом.
- pred
предикат, по которому происходит разделение.
- returns
пара общих коллекций: первая общая коллекция состоит из всех элементов, удовлетворяющих предикату
p, а вторая — из всех элементов, которые не удовлетворяют ему. Относительный порядок элементов в результирующих общих коллекциях может не сохраняться.
абстрактный def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1
Сводит элементы этой коллекции или итератора, используя заданный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, надтип
A.- op
Ассоциативный бинарный оператор.
- returns
Результат применения оператора
opко всем элементам, если коллекция или итератор не пуста.
- Классы-определения
- GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли коллекция или итератор пуста.
abstract def reduceLeftOption[B >: A](op: (B, A) ⇒ B): Option[B]
Применяет бинарную операцию ко всем элементам этого набора или итератора слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарной операции.
- op
бинарная операция.
- returns
значение option, содержащее результат
reduceLeft(op), если этот набор или итератор не пуст,Noneв противном случае.
- Definition Classes
- GenTraversableOnce
abstract def reduceOption[A1 >: A](op: (A1, A1) ⇒ A1): Option[A1]
Сводит элементы этого набора или итератора, если таковые имеются, используя указанную ассоциативную бинарную операцию.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
- A1
Параметр типа для бинарной операции, надтипа для
A.- op
Бинарная операция, которая должна быть ассоциативной.
- returns
Значение option, содержащее результат применения оператора reduce
opмежду всеми элементами, если коллекция непуста, иNoneв противном случае.
- Definition Classes
- GenTraversableOnce
abstract def reduceRight[B >: A](op: (A, B) ⇒ B): B
Применяет бинарную операцию ко всем элементам этого набора или итератора справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарной операции.
- op
бинарная операция.
- returns
-
результат вставки
opмежду последовательными элементами этого набора или итератора, справа налево:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))где
x1, ..., xn— элементы этого набора или итератора.
- Definition Classes
- GenTraversableOnce
- Exceptions thrown
UnsupportedOperationException, если этот набор или итератор пустой.
abstract def reduceRightOption[B >: A](op: (A, B) ⇒ B): Option[B]
Возвращает значение option, содержащее результат применения бинарной операции ко всем элементам этого набора или итератора справа налево.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарной операции.
- op
бинарная операция.
- returns
значение option, содержащее результат
reduceRight(op), если этот набор или итератор не пуст,Noneв противном случае.
- Definition Classes
- GenTraversableOnce
abstract def repr: Repr
abstract def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Repr, B, That]): That
Вычисляет префиксное сканирование элементов коллекции.
Примечание: нейтральный элемент z может быть применён более одного раза.
- B
тип элементов результирующей коллекции
- That
тип результирующей коллекции
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- cbf
фабрика комбинаторов, предоставляющая комбинатор
- returns
новая общая коллекция, содержащая префиксное сканирование элементов в этой общей коллекции
abstract def scanLeft[B, That](z: B)(op: (B, A) ⇒ B)(implicit bf: CanBuildFrom[Repr, B, That]): That
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора слева направо.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
неявное значение класса
CanBuildFrom, определяющее класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
коллекция с промежуточными результатами
abstract def scanRight[B, That](z: B)(op: (A, B) ⇒ B)(implicit bf: CanBuildFrom[Repr, B, That]): That
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головной элемент коллекции — последний кумулятивный результат.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
- B
тип элементов в результирующей коллекции
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
неявное значение класса
CanBuildFrom, определяющее класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
коллекция с промежуточными результатами
- Annotations
- @migration
- Migration
(Изменено в версии 2.9.0) Поведение
scanRightизменилось. Предыдущее поведение можно воспроизвести с помощью scanRight.reverse.
abstract def seq: TraversableOnce[A]
- Definition Classes
- Parallelizable
abstract def size: Int
Размер этой обобщённой коллекции.
Примечание: не завершит работу для коллекций бесконечного размера.
- returns
количество элементов в этой обобщённой коллекции.
- Definition Classes
- GenTraversableLike → GenTraversableOnce
abstract def slice(unc_from: Int, unc_until: Int): Repr
Выбирает интервал элементов. Возвращаемая коллекция содержит все элементы x, удовлетворяющие инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- unc_from
минимальный индекс для включения из этой обобщённой коллекции.
- unc_until
минимальный индекс для исключения из этой обобщённой коллекции.
- returns
обобщённая коллекция, содержащая элементы, большие или равные индексу
from, до (но не включая) индексаuntilэтой обобщённой коллекции.
abstract def span(pred: (A) ⇒ Boolean): (Repr, Repr)
Разделяет эту обобщённую коллекцию на пару префикс/суффикс согласно предикату.
Примечание: c span p эквивалентно (возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- pred
предикат проверки
- returns
пара, состоящая из самого длинного префикса этой обобщённой коллекции, элементы которого удовлетворяют предикату
p, и остальной части этой обобщённой коллекции.
abstract def splitAt(n: Int): (Repr, Repr)
Разделяет эту обобщённую коллекцию на две части в заданной позиции. Примечание: c splitAt n эквивалентно (возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
позиция разделения.
- returns
пара обобщённых коллекций, состоящих из первых
nэлементов этой обобщённой коллекции и остальных элементов.
abstract def stringPrefix: String
Определяет префикс представления этого объекта в строковом формате.
- returns
строковое представление, которое начинается с результата
toString, применённого к этой обобщённой коллекции. По умолчанию префикс строки — простое имя класса обобщённой коллекции.
abstract def tail: Repr
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
обобщённая коллекция, состоящая из всех элементов этой обобщённой коллекции, кроме первого.
- Exceptions thrown
UnsupportedOperationException, если обобщённая коллекция пуста.
abstract def take(n: Int): Repr
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно взять из этой общей коллекции.
- возвращает
общая коллекция, содержащая только первые
nэлементов этой общей коллекции, или же вся общая коллекция, если в ней меньше чемnэлементов. Еслиnотрицательно, возвращает пустую общую коллекцию.
abstract def takeWhile(pred: (A) ⇒ Boolean): Repr
Взять наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- pred
Предикат, используемый для проверки элементов.
- возвращает
наибольший префикс этой общей коллекции, элементы которого удовлетворяют предикату
p.
abstract def toBuffer[A1 >: A]: Buffer[A1]
Использует содержимое этой коллекции или итератора для создания новой изменяемой буферизованной коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
буфер, содержащий все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def toIndexedSeq: immutable.IndexedSeq[A]
Преобразует эту коллекцию или итератор в индексированную последовательность.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
индексированная последовательность, содержащая все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def toIterable: GenIterable[A]
Преобразует эту коллекцию или итератор в итерируемую коллекцию. Обратите внимание, что выбор целевой Iterable является ленивым в этой реализации по умолчанию, так как эта TraversableOnce может быть ленивой и невычисленной (т. е. это может быть итератор, который доступен только один раз).
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
Iterable, содержащая все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def toIterator: Iterator[A]
Возвращает итератор над элементами в этой коллекции или итераторе. Вернет тот же итератор, если этот экземпляр уже является итератором.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
итератор, содержащий все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def toList: List[A]
Преобразует эту коллекцию или итератор в список.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
список, содержащий все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def toSeq: GenSeq[A]
Преобразует эту коллекцию или итератор в последовательность. Как и в toIterable, он ленивый в этой реализации по умолчанию, поскольку эта TraversableOnce может быть ленивой и невычисленной.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
последовательность, содержащую все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def toSet[A1 >: A]: GenSet[A1]
Преобразует эту коллекцию или итератор в множество.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
множество, содержащее все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def toStream: Stream[A]
Преобразует эту коллекцию или итератор в поток.
- возвращает
поток, содержащий все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def toTraversable: GenTraversable[A]
Преобразует эту коллекцию или итератор в неуказанную итерируемую коллекцию. Вернет ту же коллекцию, если этот экземпляр уже является итерируемой коллекцией.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
итерируемая коллекция, содержащая все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
abstract def toVector: Vector[A]
Преобразует эту коллекцию или итератор в вектор.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
вектор, содержащий все элементы этой коллекции или итератора.
- Definition Classes
- GenTraversableOnce
Члены конкретных значений
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
trueесли !(this == that), в противном случае false.
- Определяющие классы
- Any
final def ##(): Int
Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для чисел возвращает значение хэша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернет одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode выбрасывает NullPointerException.
- возвращает
значение хэша, согласованное с ==
- Определяющие классы
- Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из GenTraversableLike[A, Repr] в any2stringadd[GenTraversableLike[A, Repr]] с помощью метода any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ->[B](y: B): (GenTraversableLike[A, Repr], B)
- Неявный
- Этот член добавлен неявным преобразованием из GenTraversableLike[A, Repr] в ArrowAssoc[GenTraversableLike[A, Repr]] с помощью метода ArrowAssoc в scala.Predef.
- Определяющие классы
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Проверка двух объектов на равенство. Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- возвращает
trueесли объект-приемник эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- Any
final def asInstanceOf[T0]: T0
Преобразование объекта-приемника к типу T0.
Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит исключение. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка запрошенному типу.
- возвращает
объект-приемник.
- Определяющие классы
- Any
- Исключения
ClassCastException, если объект-приемник не является экземпляром стирания типаT0.
abstract def collect[B](pf: PartialFunction[A, B]): GenTraversable[B]
Создает новую коллекцию, применяя частичную функцию ко всем элементам этой общей коллекции, для которых функция определена.
- B
тип элемента возвращаемой коллекции.
- pf
частичная функция, которая фильтрует и отображает общую коллекцию.
- возвращает
новую общую коллекцию, полученную путем применения заданной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
abstract def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует элементы этой общей коллекции в массив. Заполняет заданный массив xs не более чем len элементами этой общей коллекции, начиная с позиции start. Копирование прекращается, как только достигается конец текущей общей коллекции, конец целевого массива или len элементов скопированы.
Примечание: не завершит работу для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество копируемых элементов.
- Определяющие классы
- GenTraversableOnce
abstract def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этого общего набора в массив. Заполняет заданный массив xs значениями этого общего набора, начиная с индекса start. Копирование завершится, как только будет достигнут конец текущего общего набора или конец целевого массива.
Примечание: не завершится для наборов бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- Definition Classes
- GenTraversableOnce
abstract def copyToArray(xs: Array[A]): Unit
Копирует элементы этого общего набора в массив. Заполняет заданный массив xs значениями этого общего набора. Копирование завершится, как только будет достигнут конец текущего общего набора или конец целевого массива.
Примечание: не завершится для наборов бесконечного размера.
- xs
массив для заполнения.
- Definition Classes
- GenTraversableOnce
def ensuring(cond: (GenTraversableLike[A, Repr]) ⇒ Boolean, msg: ⇒ Any): GenTraversableLike[A, Repr]
- Неявный
- Этот член добавлен неявным преобразованием из GenTraversableLike[A, Repr] в Ensuring[GenTraversableLike[A, Repr]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (GenTraversableLike[A, Repr]) ⇒ Boolean): GenTraversableLike[A, Repr]
- Неявный
- Этот член добавлен неявным преобразованием из GenTraversableLike[A, Repr] в Ensuring[GenTraversableLike[A, Repr]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): GenTraversableLike[A, Repr]
- Неявный
- Этот член добавлен неявным преобразованием из GenTraversableLike[A, Repr] в Ensuring[GenTraversableLike[A, Repr]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): GenTraversableLike[A, Repr]
- Неявный
- Этот член добавлен неявным преобразованием из GenTraversableLike[A, Repr] в Ensuring[GenTraversableLike[A, Repr]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def equals(arg0: Any): Boolean
Сравнивает объект-получатель (this) с объектом-аргументом (that) на равенство.
Любая реализация этого метода должна быть отношением эквивалентности:
-
Он рефлексивен: для любого экземпляра
x типа Any, x.equals(x) должен возвращать true.Он симметричен: для любых экземпляров x и y типа Any, x.equals(y) должен возвращать true тогда и только тогда, когда y.equals(x) возвращает true.Он транзитивен: для любых экземпляров x, y и z типа Any, если x.equals(y) возвращает true и y.equals(z) возвращает true, то x.equals(z) должен возвращать true. Если вы переопределяете этот метод, вы должны проверить, что ваша реализация остаётся отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode, чтобы гарантировать, что объекты, которые «равны» (o1.equals(o2) возвращает true), хешируются к одному и тому же scala.Int. (o1.hashCode.equals(o2.hashCode)).
- возвращает
true, если объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- Any
abstract def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): GenTraversable[B]
Строит новую коллекцию, применяя функцию ко всем элементам этой общей коллекции и используя элементы полученных коллекций.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующей коллекции определяется статическим типом общей коллекции. Это иногда может привести к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap (word => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
- B
тип элементов возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- returns
новая общая коллекция, полученная путём применения заданной функции, возвращающей коллекцию
f, к каждому элементу этой общей коллекции и конкатенации результатов.
abstract def foreach(f: (A) ⇒ Unit): Unit
Применяет функцию f ко всем элементам этой общей коллекции.
Примечание: этот метод лежит в основе реализации большинства других операций по обработке данных. Важно реализовать этот метод эффективным способом.
- f
функция, применяемая для побочного эффекта к каждому элементу. Результат функции
fигнорируется.
- Definition Classes
- GenTraversableLike → GenTraversableOnce
def formatted(fmtstr: Строка): Строка
Возвращает строку, отформатированную в соответствии с заданной format строкой. Строки форматирования аналогичны String.format (@see java.lang.String.format).
- Неявный
- Этот член добавляется неявным преобразованием из GenTraversableLike[A, Repr] в StringFormat[GenTraversableLike[A, Repr]] выполняемым методом StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
def hashCode(): Целое
Вычисляет значение хэш-кода для объекта.
Алгоритм хэширования по умолчанию зависит от платформы.
Обратите внимание, что для двух объектов допустимы одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)), но они могут быть не равны (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода убедитесь, что поведение согласуется с методом equals.
- returns
значение хэш-кода для этого объекта.
- Definition Classes
- Any
final def isInstanceOf[T0]: Булево
Проверяет, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки зависит от стирания типов в Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, являются ли элементы списка указанного типа.
- returns
true, если объект-получатель является экземпляром стирания типаT0;falseв противном случае.
- Definition Classes
- Any
abstract def map[B](f: (A) ⇒ B): GenTraversable[B]
Строит новую коллекцию, применяя функцию ко всем элементам этой общей коллекции.
- B
тип элементов возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- returns
новая общая коллекция, полученная путём применения заданной функции
fк каждому элементу этой общей коллекции и сбора результатов.
abstract def max: A
Находит наибольший элемент.
- returns
наибольший элемент этой общей коллекции.
- Definition Classes
- GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли эта общая коллекция пуста.
abstract def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
первый элемент этой общей коллекции с наибольшим значением, измеренным функцией f.
- Definition Classes
- GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли эта общая коллекция пуста.
abstract def min: A
Находит наименьший элемент.
- returns
наименьший элемент этого общего набора
- Definition Classes
- GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот общий набор пустой.
abstract def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который дает наименьшее значение, измеренное функцией 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
Перемножает элементы этого набора.
- returns
произведение всех элементов в этом общем наборе чисел типа
Int. ВместоInt, может быть использован любой другой типTс неявной реализациейNumeric[T]в качестве типа элемента общего набора и типа результатаproduct. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- GenTraversableOnce
def sizeHintIfCheap: Int
Размер этого набора или итератора, если он может быть вычислен недорого
- returns
количество элементов в этом наборе или итераторе, или -1, если размер не может быть определен дешево
- Attributes
- protected[collection]
- Definition Classes
- GenTraversableOnce
abstract def sum: A
Суммирует элементы этого набора.
- returns
сумма всех элементов в этом общем наборе чисел типа
Int. ВместоInt, может быть использован любой другой типTс неявной реализациейNumeric[T]в качестве типа элемента общего набора и типа результатаsum. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- GenTraversableOnce
abstract def to[Col[_]]: Col[A]
Преобразует этот общий набор в другой, копируя все элементы.
Примечание: не завершит работу для коллекций бесконечного размера.
- Col
Тип коллекции для построения.
- returns
новая коллекция, содержащая все элементы этого общего набора.
- Definition Classes
- GenTraversableOnce
abstract def toArray: Array[A]
Преобразует этот общий набор в массив.
Примечание: не завершит работу для коллекций бесконечного размера.
- returns
массив, содержащий все элементы этого общего набора. Должен быть доступен
ClassTagдля типа элемента этого общего набора.
- Definition Classes
- GenTraversableOnce
abstract def toMap[T, U]: Map[T, U]
Преобразует этот общий набор в карту. Этот метод недоступен, если элементы не являются членами Tuple2, каждый ((T, U)) становится парой ключ-значение в карте. Повторяющиеся ключи будут перезаписаны более поздними ключами: если это неупорядоченная коллекция, то какой ключ находится в результирующей карте, не определено.
Примечание: не завершит работу для коллекций бесконечного размера.
- returns
карта типа
immutable.Map[T, U], содержащая все пары ключ/значение типа(T, U)этого общего набора.
- Definition Classes
- GenTraversableOnce
def toParArray: ParArray[T]
- Неявный
- Этот член добавлен неявным преобразованием из GenTraversableLike[A, Repr] в CollectionsHaveToParArray[GenTraversableLike[A, Repr], T] выполненным методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только если неявное значение типа (GenTraversableLike[A, Repr]) ⇒ GenTraversableOnce[T] находится в области видимости.
- Классы определений
- CollectionsHaveToParArray
def toString(): String
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
- возвращает
строковое представление объекта.
- Классы определений
- Any
def →[B](y: B): (GenTraversableLike[A, Repr], B)
- Неявный
- Этот член добавлен неявным преобразованием из GenTraversableLike[A, Repr] в ArrowAssoc[GenTraversableLike[A, Repr]] выполненным методом ArrowAssoc в scala.Predef.
- Классы определений
- ArrowAssoc
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/GenTraversableLike.html
Шаблонный трейт для всех итерируемых коллекций, над которыми могут выполняться операции в параллельном режиме.