Трейт scala.collection.GenIterableLike
trait GenIterableLike[+A, +Repr] extends GenTraversableLike[A, Repr]
Абстрактные члены значения
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]
Создаёт новую коллекцию, применяя функцию ко всем элементам этой обобщённой итерируемой коллекции
и используя элементы полученных коллекций.
Например:
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
Применяет функцию 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]
Создаёт новую коллекцию, применяя функцию ко всем элементам этой обобщённой итерируемой коллекции.
- B
тип элементов возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- returns
новая обобщённая итерируемая коллекция, полученная путём применения данной функции
fк каждому элементу этой обобщённой итерируемой коллекции и сбора результатов.
- Definition Classes
- GenTraversableLike
abstract def max: A
Находит наибольший элемент.
- returns
наибольший элемент этой обобщённой итерируемой коллекции.
- Definition Classes
- GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли эта обобщённая итерируемая коллекция пустая.
abstract def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
первый элемент этого общего итерируемого набора с наибольшим значением, измеренным функцией f.
- Definition Classes
- GenTraversableOnce
- Исключения
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
abstract def sameElements(that: GenIterable[A]): Boolean
Проверяет, содержит ли другой итерируемый набор те же элементы в том же порядке, что и этот общий итерируемый набор.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
Примечание: не будет завершаться для наборов бесконечного размера.
- that
набор для сравнения.
- returns
true, если оба набора содержат одни и те же элементы в том же порядке,falseв противном случае.
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]
Преобразует эту общую итерируемую коллекцию в массив.
Примечание: не завершается для коллекций бесконечного размера.
- возвращает
массив, содержащий все элементы этой общей итерируемой коллекции. Должен быть доступен
ClassTagдля типа элементов этой общей итерируемой коллекции.
- Определяющие классы
- GenTraversableOnce
абстрактный def toMap[T, U]: Map[T, U]
Преобразует эту общую итерируемую коллекцию в карту. Этот метод недоступен, если элементы не являются членами 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)]
Возвращает общую итерируемую коллекцию, образованную из этой общей итерируемой коллекции и другой итерируемой коллекции путем объединения соответствующих элементов парами. Если одна из двух коллекций длиннее другой, ее оставшиеся элементы игнорируются.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращенных пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- возвращает
новая общая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой общей итерируемой коллекции и
that. Длина возвращенной коллекции — минимальное из длин этой общей итерируемой коллекции иthat.
абстрактный def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): GenIterable[(A, B)]
Возвращает общую итерируемую коллекцию, образованную из этой общей итерируемой коллекции и другой итерируемой коллекции путем объединения соответствующих элементов парами. Если одна из двух коллекций короче другой, для удлинения более короткой коллекции до длины более длинной используется элемент-заполнитель.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращенных пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- thisElem
элемент, используемый для заполнения результата, если эта общая итерируемая коллекция короче
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче этой общей итерируемой коллекции.- возвращает
новая общая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой общей итерируемой коллекции и
that. Длина возвращенной коллекции — максимальное из длин этой общей итерируемой коллекции иthat. Если эта общая итерируемая коллекция корочеthat, значенияthisElemиспользуются для заполнения результата. Еслиthatкороче этой общей итерируемой коллекции, значенияthatElemиспользуются для заполнения результата.
абстрактный def zipWithIndex: GenIterable[(A, Int)]
Объединяет эту общую итерируемую коллекцию с ее индексами.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
новая общая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой общей итерируемой коллекции, связанных с их индексом. Индексы начинаются с
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
Шаблонный трейт для всех итерируемых коллекций, которые могут иметь свои операции, реализованные параллельно.
Этот трейт содержит абстрактные методы и методы, которые могут быть реализованы непосредственно с помощью других методов.