Spec-Zone.ru › Scala 3.2

Класс AbstractIterable.AbstractIterable

Исходный код

abstract class AbstractIterable[A] extends AbstractIterable[A] with Iterable[A]

Явное создание экземпляра Iterable для уменьшения размера файла класса в подклассах.

Наследники
тракт Iterable[A]
класс AbstractIterable[A]
тракт Iterable[A]
тракт IterableFactoryDefaults[A, Iterable]
тракт IterableOps[A, Iterable, Iterable[A]]
тракт IterableOnceOps[A, Iterable, Iterable[A]]
тракт IterableOnce[A]
класс Object
тракт Matchable
класс Any
Известные подклассы
класс PriorityQueue[A]

Наследованные методы

Источник
final def ++[B >: A](suffix: IterableOnce[B]): CC[B]

Псевдоним для concat

Наследованно от IterableOps

Источник
final def addString(b: StringBuilder): StringBuilder

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

Пример:

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

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

scala> val h = a.addString(b)
h: StringBuilder = 1234
Параметры значений
b

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

Возвращает

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

Наследованно от IterableOnceOps

Источник
final def addString(b: StringBuilder, sep: String): StringBuilder

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

Пример:

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

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

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
Параметры значений
b

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

sep

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

Возвращает

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

Наследованно от IterableOnceOps

Источник
def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

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

Пример:

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

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

scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
Параметры значений
b

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

end

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

sep

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

start

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

Возвращает

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

Наследованно от IterableOnceOps

Источник
def collect[B](pf: PartialFunction[A, B]): CC[B]

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

Параметры типа
B

тип элементов возвращаемого набора итерируемых элементов.

Параметры значений
pf

частичная функция, которая фильтрует и отображает набор итерируемых элементов.

Возвращает

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

Наследованно от IterableOps

Источник
def collectFirst[B](pf: PartialFunction[A, B]): Option[B]

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

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

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

Параметры значений
pf

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

Возвращает

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

Пример

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

Наследованно от IterableOnceOps

Источник
def concat[B >: A](suffix: IterableOnce[B]): CC[B]

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

Параметры типа
B

тип элементов возвращаемого набора.

Параметры значений
suffix

набор итерируемых элементов для добавления.

Возвращает

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

Наследованно от IterableOps

Источник
def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

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

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

Параметры типа
B

тип элементов массива.

Параметры значений
len

максимальное количество копируемых элементов.

start

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

xs

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

Возвращает

количество элементов, записанных в массив

Примечание

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

Наследованно от IterableOnceOps

Источник
def copyToArray[B >: A](xs: Array[B], start: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

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

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

Параметры типа
B

тип элементов массива.

Параметры значения
start

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

xs

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

Возвращает

количество элементов, записанных в массив

Примечание

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

Унаследовано от IterableOnceOps

Источник
def copyToArray[B >: A](xs: Array[B]): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

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

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

Параметры типа
B

тип элементов массива.

Параметры значения
xs

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

Возвращает

количество элементов, записанных в массив

Примечание

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

Унаследовано от IterableOnceOps

Источник
def corresponds[B](that: IterableOnce[B])(p: (A, B) => Boolean): Boolean

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

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

Параметры типа
B

тип элементов that

Параметры значения
p

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

that

другой набор

Возвращает

true, если у обоих наборов одинаковая длина и p(x, y) равно true для всех соответствующих элементов x этого итератора и y that, в противном случае false

Унаследовано от IterableOnceOps

Источник
def count(p: A => Boolean): Int

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

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

Параметры значения
p

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def drop(n: Int): C

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

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

Параметры значения
n

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

Возвращает

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

Унаследовано от IterableOps

Источник
def dropRight(n: Int): C

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

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

Параметры значения
n

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

Возвращает

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

Унаследовано от IterableOps

Источник
def dropWhile(p: A => Boolean): C

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

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

Параметры значения
p

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

Возвращает

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

Унаследовано от IterableOps

Источник
override def empty: CC[A]

Пустой набор того же типа, что и этот набор

Возвращает

пустой набор типа C.

Классы определения IterableFactoryDefaults -> IterableOps
Унаследовано от IterableFactoryDefaults

Источник
def exists(p: A => Boolean): Boolean

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

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

Параметры значения
p

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def filter(pred: A => Boolean): C

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

Параметры значения
p

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

Возвращает

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

Унаследовано от IterableOps

Источник
def filterNot(pred: A => Boolean): C

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

Параметры значения
pred

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

Возвращает

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

Унаследовано от IterableOps

Источник
def find(p: A => Boolean): Option[A]

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

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

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

Параметры значения
p

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def flatMap[B](f: A => IterableOnce[B]): CC[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: String) => 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

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

Возвращает

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

Унаследовано от IterableOps

Источник
def flatten[B](implicit asIterable: A => IterableOnce[B]): CC[B]

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

Тип результирующей коллекции определяется типом итерационной коллекции. Например:

val xs = List(
           Set(1, 2, 3),
           Set(1, 2, 3)
         ).flatten
// xs == List(1, 2, 3, 1, 2, 3)

val ys = Set(
           List(1, 2, 3),
           List(3, 2, 1)
         ).flatten
// ys == Set(1, 2, 3)
Параметры типа
B

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

Параметры значения
asIterable

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

Возвращает

новая итерационная коллекция, полученная путём конкатенации всех коллекций элементов.

Унаследовано от IterableOps

Источник
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1

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

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

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

Параметры типа
A1

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

Параметры значения
op

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

z

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def foldLeft[B](z: B)(op: (B, A) => B): B

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

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

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

Параметры типа
B

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

Параметры значения
op

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

z

начальное значение.

Возвращает

результат вставки op между последовательными элементами этой коллекции слева направо с начальным значением z слева: op(...op(z, x1), x2, ..., xn), где x1, ..., xn - элементы этой коллекции. Возвращает z , если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def foldRight[B](z: B)(op: (A, B) => B): B

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

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

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

Параметры типа
B

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

Параметры значения
op

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

z

начальное значение.

Возвращает

результат вставки op между последовательными элементами этой коллекции справа налево с начальным значением z справа: op(x1, op(x2, ... op(xn, z)...)), где x1, ..., xn - элементы этой коллекции. Возвращает z , если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def forall(p: A => Boolean): Boolean

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

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

Параметры значения
p

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def foreach[U](f: A => U): Unit

Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в инференции типов scalac.

Унаследовано от IterableOnceOps

Источник
protected def fromSpecific(coll: IterableOnce[A]): CC[A]

Определяет, как преобразовать заданную Iterable[A] в коллекцию типа C.

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

Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа, этот метод должен быть переопределён (в противном случае компилятор выдаст ошибку). В общем случае, когда C =:= CC[A], это можно сделать, добавив в микс scala.collection.IterableFactoryDefaults trait, который реализует метод с использованием iterableFactory.

Как видно из аннотации @uncheckedVariance, использование этого метода может быть небезопасным. Однако, пока он вызывается с Iterable[A] , полученным из this коллекции (как это происходит в реализациях операций, где мы используем View[A]), он безопасен.

Унаследовано от IterableFactoryDefaults

Источник
def groupBy[K](f: A => K): Map[K, C]

Разбивает эту итерационную коллекцию на карту итерационных коллекций в соответствии с некоторой функцией-дискриминатором.

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

Параметры типа
K

тип ключей, возвращаемых функцией-дискриминатором.

Параметры значения
f

функция-дискриминатор.

Возвращает

Отображение ключей на итерируемые коллекции, такое, что выполняется следующее инвариантное условие:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть, каждый ключ k связан с итерируемой коллекцией тех элементов x для которых f(x) равно k.

Унаследовано от IterableOps

Источник
def groupMap[K, B](key: A => K)(f: A => B): Map[K, CC[B]]

Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.

Это эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.

case class User(name: String, age: Int)

def namesByAge(users: Seq[User]): Map[Int, Seq[String]] =
  users.groupMap(_.age)(_.name)

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

Параметры типа
B

тип значений, возвращаемых функцией преобразования

K

тип ключей, возвращаемых функцией-дискриминатором

Параметры значения
f

функция преобразования элементов

key

функция-дискриминатор

Унаследовано от IterableOps

Источник
def groupMapReduce[K, B](key: A => K)(f: A => B)(reduce: (B, B) => B): Map[K, B]

Разделяет эту итерируемую коллекцию на карту в соответствии с функцией-дискриминатором key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются функцией f и затем сводятся к одному значению с помощью функции reduce.

Это эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.

def occurrences[A](as: Seq[A]): Map[A, Int] =
  as.groupMapReduce(identity)(_ => 1)(_ + _)

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

Унаследовано от IterableOps

Источник
def grouped(size: Int): Iterator[C]

Разделяет элементы на итерируемые коллекции фиксированного размера.

Параметры значения
size

количество элементов в группе

Возвращает

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

См. также

scala.collection.Iterator, метод grouped

Унаследовано от IterableOps

Источник
def head: A

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

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

Возвращает

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

Исключение
NoSuchElementException

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

Унаследовано от IterableOps

Источник
def headOption: Option[A]

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

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

Возвращает

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

Унаследовано от IterableOps

Источник
def init: C

Часть коллекции без последнего элемента.

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

Унаследовано от IterableOps

Источник
def inits: Iterator[C]

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

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

Возвращает

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

Пример

List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)

Унаследовано от IterableOps

Источник
def isEmpty: Boolean

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

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
override def isTraversableAgain: Boolean

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

Возвращает

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

Определяющие классы IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
override def iterableFactory: IterableFactory[Iterable]

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

Примечание

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

Определяющие классы Iterable -> Iterable -> IterableOps
Унаследовано от Iterable

Источник
def iterator: Iterator[A]

Итератор может быть использован только один раз

Унаследовано от IterableOnce

Источник
def knownSize: Int

Возвращает

Количество элементов в этой коллекции, если его можно вычислить без затрат, -1 в противном случае. Без затрат обычно означает: Не требует прохода по коллекции.

Унаследовано от IterableOnce

Источник
def last: A

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

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

Возвращает

Последний элемент этой итерируемой коллекции.

Исключение
NoSuchElementException

Если итерируемая коллекция пуста.

Унаследовано от IterableOps

Source
def lastOption: Option[A]

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

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

Возвращает

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

Унаследовано от IterableOps

Source
def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, Iterable]

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

Вызовы к lazyZip могут быть объединены, чтобы поддерживать более высокие арности (до 4) без затрат на создание и разбор промежуточных кортежей.

val xs = List(1, 2, 3)
val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d)
// res == List(4, 8, 12)
Параметры типа
B

тип второго элемента в каждой паре

Параметры значения
that

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

Возвращает

декоратор LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или объединять вызовы к lazyZip. Также поддерживается неявное преобразование в Iterable[(A, B)].

Унаследовано от Iterable

Source
def map[B](f: A => B): CC[B]

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

Параметры типа
B

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

Параметры значения
f

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

Возвращает

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

Унаследовано от IterableOps

Source
def max[B >: A](implicit ord: Ordering[B]): A

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

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

Параметры типа
B

Тип, по которому определено упорядочение.

Параметры значения
ord

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

Возвращает

наибольший элемент этой коллекции относительно упорядочения ord.

Исключения
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

Source
def maxBy[B](f: A => B)(implicit cmp: Ordering[B]): A

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

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

Параметры типа
B

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

Параметры значения
cmp

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

Source
def maxByOption[B](f: A => B)(implicit cmp: Ordering[B]): Option[A]

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

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

class="attributes">
Параметры типа
B

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

Параметры значения
cmp

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

f

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

Возвращает

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

Унаследован от IterableOnceOps

Source
def maxOption[B >: A](implicit ord: Ordering[B]): Option[A]

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

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

class="attributes">
Параметры типа
B

Тип, по которому определён порядок.

Параметры значения
ord

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

Возвращает

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

Унаследован от IterableOnceOps

Source
def min[B >: A](implicit ord: Ordering[B]): A

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

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

class="attributes">
Параметры типа
B

Тип, по которому определён порядок.

Параметры значения
ord

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

Возвращает

наименьший элемент этой коллекции в соответствии с порядком ord.

Исключения
UnsupportedOperationException

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

Унаследован от IterableOnceOps

Source
def minBy[B](f: A => B)(implicit cmp: Ordering[B]): A

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

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

class="attributes">
Параметры типа
B

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

Параметры значения
cmp

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

Унаследован от IterableOnceOps

Source
def minByOption[B](f: A => B)(implicit cmp: Ordering[B]): Option[A]

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

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

class="attributes">
Параметры типа
B

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

Параметры значения
cmp

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

f

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

Возвращает

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

Унаследован от IterableOnceOps

Source
def minOption[B >: A](implicit ord: Ordering[B]): Option[A]

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

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

class="attributes">
Параметры типа
B

Тип, по которому определяется порядок.

Значения параметров
ord

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

Возвращает

значение option, содержащее наименьший элемент этой коллекции относительно порядка ord.

Унаследовано от IterableOnceOps

Source
final def mkString: String

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

Делегирует addString, который можно переопределить.

class="attributes">
Возвращает

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

Унаследовано от IterableOnceOps

Source
final def mkString(sep: String): String

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

Делегирует addString, который можно переопределить.

class="attributes">
Значения параметров
sep

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

Возвращает

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

Пример

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

Унаследовано от IterableOnceOps

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

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

Делегирует addString, который можно переопределить.

class="attributes">
Значения параметров
end

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

sep

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

start

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

Возвращает

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

Пример

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

Унаследовано от IterableOnceOps

Source
protected def newSpecificBuilder: Builder[A, CC[A]]

class="attributes">
Возвращает

строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализовать этот метод возможно, но полученный Builder нарушит ленивость. Вследствие этого операции предпочтительно реализовывать с fromSpecific вместо этого метода.

Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа, этот метод нужно переопределить (в противном случае компилятор выдаст ошибку). В общем случае, когда C =:= CC[A], это можно сделать, смешав в себе scala.collection.IterableFactoryDefaults trait, который реализует метод с помощью iterableFactory.

Как видно из аннотации @uncheckedVariance, использование этого метода может быть небезопасным. Однако, до тех пор, пока возвращаемый билдер получает только A значения, взятые из this экземпляра, это безопасно.

Унаследовано от IterableFactoryDefaults

Source
def nonEmpty: Boolean

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

class="attributes">
Возвращает

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

Унаследовано от IterableOnceOps

Source
def partition(p: A => Boolean): (C, C)

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

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

class="attributes">
Унаследовано от IterableOps

Source
def partitionMap[A1, A2](f: A => Either[A1, A2]): (CC[A1], CC[A2])

Применяет функцию f к каждому элементу итерируемой коллекции и возвращает пару итерируемых коллекций: первая состоит из тех значений, возвращенных функцией f, которые были обернуты в scala.util.Left, а вторая - из тех, которые были обернуты в scala.util.Right.

Пример:

val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
 case i: Int => Left(i)
 case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

Тип элемента первой результирующей коллекции

A2

Тип элемента второй результирующей коллекции

Значения параметров
f

функция 'разделения', отображающая элементы этой итерируемой коллекции в scala.util.Either

Возвращает

пару итерируемых коллекций: первая состоит из тех значений, возвращенных функцией f , которые были обернуты в scala.util.Left, а вторая - из тех, которые были обернуты в scala.util.Right.

Унаследовано от IterableOps

Source
def product[B >: A](implicit num: Numeric[B]): B

Перемножает элементы этой коллекции.

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

class="attributes">
Параметры типа
B

тип результата оператора *.

Значения параметров
num

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

Возвращает

произведение всех элементов этой коллекции относительно оператора * в num.

Унаследовано от IterableOnceOps

Source
def reduce[B >: A](op: (B, B) => B): B

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

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

class="attributes">
Параметры типа
B

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

Значения параметров
op

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

Возвращает

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

Исключения
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

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

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

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

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

Параметры типа
B

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

Параметры значения
op

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

Возвращает

результат вставки op между последовательными элементами этого набора слева направо: op( op( ... op(x1, x2) ..., xn-1), xn) где x1, ..., xn - элементы этого набора.

Исключения
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

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

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

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

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

Параметры типа
B

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

Параметры значения
op

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

Возвращает

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

Унаследовано от IterableOnceOps

Source
def reduceOption[B >: A](op: (B, B) => B): Option[B]

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

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

Параметры типа
B

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

Параметры значения
op

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

Возвращает

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

Унаследовано от IterableOnceOps

Source
def reduceRight[B >: A](op: (A, B) => B): B

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

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

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

Параметры типа
B

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

Параметры значения
op

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

Возвращает

результат вставки op между последовательными элементами этого набора справа налево: op(x1, op(x2, ..., op(xn-1, xn)...)) где x1, ..., xn - элементы этого набора.

Исключения
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

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

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

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

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

Параметры типа
B

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

Параметры значения
op

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

Возвращает

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

Унаследовано от IterableOnceOps

Source
protected def reversed: Iterable[A]

Унаследовано от IterableOnceOps

Source
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]

Вычисляет префиксное сканирование элементов коллекции.

Примечание: нейтральный элемент z может применяться более одного раза.

Параметры типа
B

тип элементов результирующей коллекции

Параметры значения
op

ассоциативный оператор для сканирования

z

нейтральный элемент для оператора op

Возвращает

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

Унаследовано от IterableOps

Source
def scanLeft[B](z: B)(op: (B, A) => B): CC[B]

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

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

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

Параметры типа
B

тип элементов в результирующей коллекции

Параметры значения
op

бинарный оператор, применяемый к промежуточному результату и элементу

z

начальное значение

Возвращает

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

Унаследовано от IterableOps

Source
def scanRight[B](z: B)(op: (A, B) => B): CC[B]

Создает коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головка коллекции - последний кумулятивный результат.

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

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

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

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Параметры типа
B

тип элементов в результирующей коллекции

Параметры значения
op

бинарный оператор, применяемый к промежуточному результату и элементу

z

начальное значение

Возвращает

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

Унаследовано от IterableOps

Source
def size: Int

Размер этого набора.

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

Возвращает

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

Унаследовано от IterableOnceOps

Source
def sizeCompare(that: Iterable[_]): Int

Сравнивает размер этой итеративной коллекции с размером другой Iterable.

Параметры значения
that

the Iterable whose size is compared with the size of this iterable collection.

Возвращает

Значение x где

x <  0       if this.size <  that.size
x == 0       if this.size == that.size
x >  0       if this.size >  that.size

Реализация данного метода не вызывает size напрямую; его время выполнения составляет O(this.size min that.size) вместо O(this.size + that.size). Метод следует переопределить, если вычисление size является быстрым, и knownSize возвращает -1.

Унаследовано от IterableOps

Исходный код
def sizeCompare(otherSize: Int): Int

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

Параметры значения
otherSize

значение теста, которое сравнивается с размером.

Возвращает

Значение x где

x <  0       if this.size <  otherSize
x == 0       if this.size == otherSize
x >  0       if this.size >  otherSize

Реализация данного метода не вызывает size напрямую; его время выполнения составляет O(size min otherSize) вместо O(size). Метод следует переопределить, если вычисление size является быстрым, и knownSize возвращает -1.

См. также

sizeIs

Унаследовано от IterableOps

Исходный код
final def sizeIs: SizeCompareOps

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

Эти операции реализуются с помощью sizeCompare(Int) и позволяют использовать следующие более читаемые выражения:

this.sizeIs < size     // this.sizeCompare(size) < 0
this.sizeIs <= size    // this.sizeCompare(size) <= 0
this.sizeIs == size    // this.sizeCompare(size) == 0
this.sizeIs != size    // this.sizeCompare(size) != 0
this.sizeIs >= size    // this.sizeCompare(size) >= 0
this.sizeIs > size     // this.sizeCompare(size) > 0
Унаследовано от IterableOps

Исходный код
def slice(from: Int, until: Int): C

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

from <= indexOf(x) < until

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

Параметры значения
from

наименьший индекс для включения из этой итерационной коллекции.

until

наименьший индекс для ИСКЛЮЧЕНИЯ из этой итерационной коллекции.

Возвращает

итерационная коллекция, содержащая элементы, большие или равные индексу from и до (но не включая) индекс until этой итерационной коллекции.

Унаследовано от IterableOps

Исходный код
def sliding(size: Int, step: Int): Iterator[C]

Группирует элементы в блоки фиксированного размера, перемещая «скользящее окно» по ним (в отличие от их разбиения, как в grouped).

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

Параметры значения
size

количество элементов в группе

step

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

Возвращает

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

См. также

scala.collection.Iterator, метод sliding

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

Унаследовано от IterableOps

Исходный код
def sliding(size: Int): Iterator[C]

Группирует элементы в блоки фиксированного размера, перемещая «скользящее окно» по ним (в отличие от их разбиения, как в grouped).

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

Параметры значения
size

количество элементов в группе

Возвращает

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

См. также

scala.collection.Iterator, метод sliding

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

Унаследовано от IterableOps

Исходный код
def span(p: A => Boolean): (C, C)

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

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

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

Параметры значения
p

предикат теста

Возвращает

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

Унаследовано от IterableOps

Исходный код
override def splitAt(n: Int): (C, C)

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

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

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

Параметры значения
n

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

Возвращает

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

Классы определений IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Исходный код
def stepper[S <: Stepper[_]](implicit shape: StepperShape[A, S]): S

Возвращает scala.collection.Stepper для элементов этой коллекции.

Stepper позволяет создать Java поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.

Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этой коллекции.

  • Для коллекций Int, Short, Byte или Char, возвращается scala.collection.IntStepper

  • Для коллекций Double или Float, возвращается scala.collection.DoubleStepper

  • Для коллекций Long возвращается scala.collection.LongStepper

  • Для любого другого типа элемента возвращается scala.collection.AnyStepper

Обратите внимание, что этот метод переопределяется в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.

Унаследовано от IterableOnce
END_OF_DOCUMENT_MARKER

Source
def sum[B >: A](implicit num: Numeric[B]): B

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

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

Параметры типа
B

тип результата оператора +.

Параметры значения
num

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

Возвращает

сумма всех элементов этого набора относительно оператора + в num.

Унаследовано от IterableOnceOps

Source
def tail: C

Остальная часть набора без первого элемента.

Унаследовано от IterableOps

Source
def tails: Iterator[C]

Итерация по хвостам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения — результатом последовательного применения tail.

Возвращает

итератор по всем хвостам этого итерируемого набора

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

Унаследовано от IterableOps

Source
def take(n: Int): C

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

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

Параметры значения
n

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

Возвращает

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

Унаследовано от IterableOps

Source
def takeRight(n: Int): C

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

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

Параметры значения
n

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

Возвращает

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

Унаследовано от IterableOps

Source
def takeWhile(p: A => Boolean): C

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

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

Параметры значения
p

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

Возвращает

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

Унаследовано от IterableOps

Source
override def tapEach[U](f: A => U): C

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

Параметры типа
U

тип возвращаемого значения f

Параметры значения
f

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

Возвращает

тот же логический набор, что и этот

Классы определений IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Source
def to[C1](factory: Factory[A, C1]): C1

На основе фабрики наборов factory, преобразуйте этот набор в соответствующее представление для текущего типа элемента A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Source
def toArray[B >: A : ClassTag]: Array[B]

Преобразование набора в массив.

Примечание к реализации: НЕ вызывайте Array.from из этого метода.

Унаследовано от IterableOnceOps

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

Унаследовано от IterableOnceOps

Source
def toIndexedSeq: IndexedSeq[A]

Унаследовано от IterableOnceOps

Source
def toList: List[A]

Унаследовано от IterableOnceOps

Source
def toMap[K, V](implicit ev: A < >: (K, V)): Map[K, V]

Унаследовано от IterableOnceOps

Source
def toSeq: Seq[A]

Возвращает

Этот набор в виде Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Унаследовано от IterableOnceOps

Source
def toSet[B >: A]: Set[B]

Унаследовано от IterableOnceOps

Source
override def toString: String

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

Возвращает

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

Классы определений Iterable -> Any
Унаследовано от Iterable

Source
def toVector: Vector[A]

Inherited from IterableOnceOps

Source
def transpose[B](implicit asIterable: A => Iterable[B]): CC[CC[B]]

Транспонирует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.

Тип результирующего множества будет определяться статическим типом итерируемого множества. Например:

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

Примечание: Даже при применении к представлению или ленивому множеству элементы всегда будут принудительно вычисляться.

Параметры типа
B

тип элементов каждого итерируемого множества.

Параметры значения
asIterable

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

Возвращаемое значение

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

Исключения
IllegalArgumentException

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

Унаследовано от IterableOps

Source
def unzip[A1, A2](implicit asPair: A => (A1, A2)): (CC[A1], CC[A2])

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

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

Параметры значения
asPair

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

Возвращаемое значение

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

Унаследовано от IterableOps

Source
def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])

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

val xs = Iterable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three),
//        Iterable(1, 2, 3))
Параметры типа
A1

тип первого члена троек элементов

A2

тип второго члена троек элементов

A3

тип третьего члена троек элементов

Параметры значения
asTriple

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

Возвращаемое значение

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

Унаследовано от IterableOps

Source
def view: View[A]

Представление над элементами этого множества.

Унаследовано от IterableOps

Source
def withFilter(p: A => Boolean): WithFilter[A, CC]

Создаёт нестрогое фильтрование этого итерируемого множества.

Примечание: различие между c filter p и c withFilter p состоит в том, что первый создаёт новое множество, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.

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

Параметры значения
p

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

Возвращаемое значение

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого итерируемого множества, которые удовлетворяют предикату p.

Унаследовано от IterableOps

Source
def zip[B](that: IterableOnce[B]): CC[(A, B)]

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

Параметры типа
B

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

Параметры значения
that

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

Возвращаемое значение

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

Унаследовано от IterableOps

Source
def zipAll[A1 >: A, B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

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

Параметры значения
that

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

thatElem

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

thisElem

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

Возвращаемое значение

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

Унаследовано от IterableOps

Source
def zipWithIndex: CC[(A, Int)]

Объединяет это итерируемое множество с его индексами.

Возвращаемое значение

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

Пример

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

Унаследовано от IterableOps

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/mutable/AbstractIterable.html

Spec-Zone.ru

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