Spec-Zone.ru › Scala 3.2

Класс View.Tabulate

Исходный код

class Tabulate[A](n: Int)(f: Int => A) extends AbstractView[A]

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

Суперобъекты
class AbstractView[A]
Тракт View[A]
Тракт Serializable
class AbstractIterable[A]
Тракт Iterable[A]
Тракт IterableFactoryDefaults[A, View]
Тракт IterableOps[A, View, View[A]]
Тракт IterableOnceOps[A, View, View[A]]
Тракт IterableOnce[A]
class Object
Тракт Matchable
class Any

Конкретные методы

Исходный код
override def isEmpty: Boolean

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

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

Возвращает

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

Классы определений IterableOnceOps

Исходный код
def iterator: Iterator[A]

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

Исходный код
override def knownSize: Int

Возвращает

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

Классы определений IterableOnce

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

Исходный код
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: View[A]

Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция.

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

Source
def filterNot(pred: A => Boolean): C

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

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

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

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

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

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

Source
def find(p: A => Boolean): Option[A]

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

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

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

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

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

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

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

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

Source
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

Source
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

Source
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 , если элементы не делятся на размер группы без остатка.

См. также

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

Исходный код
override def isTraversableAgain: Boolean

Проверяет, можно ли повторно пройти по этой итерируемой коллекции. Всегда истинно для Iterable и ложно для Iterator, если не переопределено.

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

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

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

Исходный код
override def iterableFactory: IterableFactory[View]

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

Примечание

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

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

Исходный код
def last: A

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

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

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

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

Исключения
NoSuchElementException

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

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

Исходный код
def lastOption: Option[A]

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

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

Возвращает

последний элемент этого итерируемого набора $ если он непустой, None если он пустой.

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

Источник
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

Источник
def map[B](f: A => B): CC[B]

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

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

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

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

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

Возвращает

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

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

Источник
def max[B >: A](implicit ord: Ordering[B]): A

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Источник
def maxBy[B](f: A => B)(implicit cmp: Ordering[B]): A

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Источник
def maxByOption[B](f: A => B)(implicit cmp: Ordering[B]): Option[A]

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

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

Тип параметров
B

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

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

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

f

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

Возвращает

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

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

Источник
def maxOption[B >: A](implicit ord: Ordering[B]): Option[A]

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

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

Тип параметров
B

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

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

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

Возвращает

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

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

Источник
def min[B >: A](implicit ord: Ordering[B]): A

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

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

Тип параметров
B

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

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

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

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

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

Источник
def minBy[B](f: A => B)(implicit cmp: Ordering[B]): A

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

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

Тип параметров
B

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

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

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

f

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

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

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

Источник
def minByOption[B](f: A => B)(implicit cmp: Ordering[B]): Option[A]

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

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

Тип параметров
B

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

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

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

f

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

Возвращает

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

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

Источник
def minOption[B >: A](implicit ord: Ordering[B]): Option[A]

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

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

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

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

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

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

Возвращает

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

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

Исходный код
final def mkString: String

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

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

Возвращает

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

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

Исходный код
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

Исходный код
final def mkString(start: String, sep: String, end: String): String

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Исходный код
protected def newSpecificBuilder: Builder[A, CC[A]]

Возвращает

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

Примечание

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

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

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

Исходный код
def nonEmpty: Boolean

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

Возвращает

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

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

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

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

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

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

Исходный код
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

Исходный код
def product[B >: A](implicit num: Numeric[B]): B

Произведение элементов этой коллекции.

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

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

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

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

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

Возвращает

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

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

Исходный код
def reduce[B >: A](op: (B, B) => B): B

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

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

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

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

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

Ассоциативный бинарный оператор.

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Исходный код
def reduceLeft[B >: A](op: (B, A) => B): B

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

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

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

Тип параметров
B

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

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

бинарная операция.

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

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

Исходный код
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]

Применяет бинарную операцию ко всем элементам этого набора слева направо (необязательно).

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

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

Тип параметров
B

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

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

бинарная операция.

Возвращает

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

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

Исходный код
def reduceOption[B >: A](op: (B, B) => B): Option[B]

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

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

Тип параметров
B

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

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

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

Возвращает

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

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

Исходный код
def reduceRight[B >: A](op: (A, B) => B): B

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

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

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

Тип параметров
B

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

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

бинарная операция.

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

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

Исходный код
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]

Необязательно применяет бинарную операцию ко всем элементам этого набора справа налево.

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

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

Тип параметров
B

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

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

бинарная операция.

Возвращает

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

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

Исходный код
protected def reversed: Iterable[A]

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

Исходный код
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]

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

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

Тип параметров
B

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

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

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

z

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

Возвращает

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

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

Исходный код
def scanLeft[B](z: B)(op: (B, A) => B): CC[B]

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

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

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

Тип параметров
B

тип элементов в результирующем наборе

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

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

z

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

Возвращает

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

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

Исходный код
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

Исходный код
def size: Int

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

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

Возвращает

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

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

Исходный код
def sizeCompare(that: Iterable[_]): Int

Сравнивает размер этого итерируемого набора с размером другого Iterable.

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

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

Возвращает

Значение 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

Source
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

Source
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

Source
def slice(from: Int, until: Int): C

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

from <= indexOf(x) < until

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

Параметры
from

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

until

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

Возвращает

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

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

Source
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

Source
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. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Steppers могут быть преобразованы только в последовательные потоки.

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

Источник
def sum[B >: A](implicit num: Numeric[B]): B

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

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

Тип параметров
B

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

итератор по всем хвостам этой итерируемой коллекции

Пример

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

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

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

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

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

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

количество элементов для извлечения из этой итерируемой коллекции.

Возвращает

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

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

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

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

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

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

количество элементов для извлечения из этой итерируемой коллекции.

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def tapEach[U](f: A => U): C

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

Тип параметров
U

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

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

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

Возвращает

Такая же логическая коллекция, как и эта

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

Источник
def to[C1](factory: Factory[A, C1]): C1

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

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

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

Источник
def toArray[B >: A : ClassTag]: Array[B]

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

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

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

Источник
final def toBuffer[B >: A]: Buffer[B]

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

Источник
def toIndexedSeq: IndexedSeq[A]

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

Источник
def toList: List[A]

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

Источник
def toMap[K, V](implicit ev: A <:< (K, V)): Map[K, V]

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

Источник
def toSeq: Seq[A]

Возвращает

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

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

Источник
def toSet[B >: A]: Set[B]

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

Источник
override def toString: String

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

Возвращает

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

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

Источник
def toVector: Vector[A]

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

Источник
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

Источник
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

Источник
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

Источник
override def view: View[A]

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

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

Источник
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

Источник
def zip[B](that: IterableOnce[B]): CC[(A, B)]

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

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

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

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

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

Возвращает

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

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

Источник
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

Источник
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/View$$Tabulate.html

Spec-Zone.ru

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