Spec-Zone.ru › Scala 3.2

Трейт IndexedSeqOps.IndexedSeqOps

Исходный код

trait IndexedSeqOps[A, +CC[_], +C <: AnyRef] extends IndexedSeqOps[A, CC, C] with SeqOps[A, CC, C]

Суперайпы
Трейт SeqOps[A, CC, C]
Трейт Cloneable[C]
Трейт Cloneable
Трейт IndexedSeqOps[A, CC, C]
Трейт SeqOps[A, CC, C]
Трейт IterableOps[A, CC, C]
Трейт IterableOnceOps[A, CC, C]
Трейт IterableOnce[A]
Класс Object
Трейт Matchable
Класс Any
Известные подтипы
18 типов
Класс ArrayBuffer[A]
Класс ArrayDeque[A]
Класс Queue[A]
Класс Stack[A]
Класс ArraySeq[T]
Класс ofBoolean
Класс ofByte
Класс ofChar
Класс ofDouble
Класс ofFloat
Класс ofInt
Класс ofLong
Класс ofRef[T]
Класс ofShort
Класс ofUnit
Трейт IndexedBuffer[A]
Трейт IndexedSeq[T]
Класс StringBuilder

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

Исходный код
def mapInPlace(f: A => A): IndexedSeqOps.this.type

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

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

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

Возвращает

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

Исходный код
def sortInPlace[B >: A]()(implicit ord: Ordering[B]): IndexedSeqOps.this.type

Сортирует эту изменяемую последовательность на месте в соответствии с Ordering.

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

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

Возвращает

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

См. также

scala.collection.SeqOps.sorted

Исходный код
def sortInPlaceBy[B](f: A => B)(implicit ord: Ordering[B]): IndexedSeqOps.this.type

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

См. также

scala.collection.SeqOps.sortBy

Исходный код
def sortInPlaceWith(lt: (A, A) => Boolean): IndexedSeqOps.this.type

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

См. также

scala.collection.SeqOps.sortWith

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

Исходный код
final def ++[B >: A](suffix: IterableOnce[B]): CC[B]

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

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

Исходный код
final override def ++:[B >: A](prefix: IterableOnce[B]): CC[B]

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

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

Исходный код
final def +:[B >: A](elem: B): CC[B]

Псевдоним для prepended.

Обратите внимание, что операторы, заканчивающиеся двоеточием, являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+ такова: двоеточие ставится со стороны коллекции.

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

Исходный код
final def :+[B >: A](elem: B): CC[B]

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

Обратите внимание, что операторы, заканчивающиеся двоеточием, являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+ такова: двоеточие ставится со стороны коллекции.

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

Исходный код
final def :++[B >: A](suffix: IterableOnce[B]): CC[B]

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

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

Исходный код
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 appended[B >: A](elem: B): CC[B]

Копия этой последовательности с добавленным элементом.

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

Пример:

scala> val a = List(1)
a: List[Int] = List(1)

scala> val b = a :+ 2
b: List[Int] = List(1, 2)

scala> println(a)
List(1)
Параметры типа
B

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

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

добавляемый элемент

Возвращает

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

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

Исходный код
def appendedAll[B >: A](suffix: IterableOnce[B]): CC[B]

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

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

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

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

присоединяемая итерируемая последовательность.

Возвращает

новая коллекция типа CC[B], которая содержит все элементы этой последовательности, за которыми следуют все элементы suffix.

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

Исходный код
def apply(i: Int): A

Получение элемента по указанному индексу. Эта операция предоставлена для удобства в Seq. Не следует предполагать, что она эффективна, если у вас нет IndexedSeq.

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

Исходный код
override def clone(): C

Создаёт копию объекта-приёмника.

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

Возвращает

копию объекта-приёмника.

Примечание

не указан в SLS как член AnyRef

Классы определения SeqOps -> Cloneable -> Object
Унаследовано от SeqOps

Исходный код
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 combinations(n: Int): Iterator[C]

Итерируется по комбинациям. _Комбинация_ длиной n — это подпоследовательность исходной последовательности, элементы которой взяты в порядке. Таким образом, "xy" и "yy" являются комбинациями длины 2 "xyy", но "yx" — нет. Если есть более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна.

Например, у "xyyy" есть три разных способа сгенерировать "xy", в зависимости от того, какой элемент — первый, второй или третий "y" был выбран. Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран, является деталью реализации, которая не определена.

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

Возвращает

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

Пример

"abbbc".combinations(2) = Iterator(ab, ac, bb, bc)

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

Исходный код
final override def concat[B >: A](suffix: IterableOnce[B]): CC[B]

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

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

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

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

присоединяемая итерируемая последовательность.

Возвращает

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

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

Исходный код
def contains[A1 >: A](elem: A1): Boolean

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

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

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

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

Возвращает

true , если в этой последовательности есть элемент, равный (как определено ==) elem, false в противном случае.

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

Исходный код
def containsSlice[B >: A](that: Seq[B]): Boolean

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

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

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

тестируемая последовательность

Возвращает

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

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

Исходный код
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: Seq[B])(p: (A, B) => Boolean): Boolean

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

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

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

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

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

that

другая последовательность

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

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

Наследуется от SeqOps

Источник
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 diff[B >: A](that: Seq[B]): C

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

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

последовательность элементов для удаления

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

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

Наследуется от SeqOps

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

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

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

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

Наследуется от SeqOps

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

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

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

тип элементов после преобразования f

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

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

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

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

Наследуется от SeqOps

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

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

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

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

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

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

Классы-определения IndexedSeqOps -> IterableOps -> IterableOnceOps
Наследуется от IndexedSeqOps

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def endsWith[B >: A](that: Iterable[B]): Boolean

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

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

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

последовательность для проверки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

результат применения оператора fold 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

Источник
override 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 , если эта последовательность пуста.

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Source
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

Source
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

Source
def grouped(size: Int): Iterator[C]

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

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

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

Возвращает

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

См. также

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

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

Source
override def head: A

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

Возвращает

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

Исключения
NoSuchElementException

если последовательность пуста.

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

Source
override def headOption: Option[A]

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

Возвращает

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

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

Source
def indexOf[B >: A](elem: B): Int

Находит индекс первого вхождения некоторого значения в этой последовательности.

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

тип элемента elem.

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

значение элемента, для поиска.

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

индекс >= 0 первого элемента этой последовательности, который равен (как определено ==) elem, или -1, если таковой не существует.

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

Source
def indexOf[B >: A](elem: B, from: Int): Int

Находит индекс первого вхождения некоторого значения в этой последовательности после или на некотором начальном индексе.

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

тип элемента elem.

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

значение элемента, для поиска.

from

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

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

индекс >= from первого элемента этой последовательности, который равен (как определено ==) elem, или -1, если таковой не существует.

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

Source
def indexOfSlice[B >: A](that: Seq[B]): Int

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

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

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

последовательность для проверки

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

первый индекс >= 0 такой, что элементы этой последовательности, начинающиеся с этого индекса, соответствуют элементам последовательности that, или -1 если такой подпоследовательности не существует.

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

Source
def indexOfSlice[B >: A](that: Seq[B], from: Int): Int

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

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

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

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

that

последовательность для проверки

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

первый индекс >= from такой, что элементы этой последовательности, начинающиеся с этого индекса, соответствуют элементам последовательности that, или -1 если такой подпоследовательности не существует.

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

Source
def indexWhere(p: A => Boolean): Int

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

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

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

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

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

индекс >= 0 первого элемента этой последовательности, удовлетворяющего предикату p, или -1, если таковой не существует.

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

Source
def indexWhere(p: A => Boolean, from: Int): Int

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

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

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

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

p

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

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

индекс >= from первого элемента этой последовательности, удовлетворяющего предикату p, или -1, если таковой не существует.

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

Source
def indices: Range

Создает диапазон всех индексов этой последовательности.

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

Возвращает

значение Range от 0 до значения на единицу меньше длины этой последовательности.

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

Источник
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 intersect[B >: A](that: Seq[B]): C

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

Параметры
that

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

Возвращает

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

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

Источник
def isDefinedAt(idx: Int): Boolean

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

Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].

Параметры
idx

индекс для проверки

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

Returns

true если он многократно проходимый, false в противном случае.

Definition Classes IterableOps -> IterableOnceOps
Inherited from IterableOps

Source
def iterableFactory: IterableFactory[CC]

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

Note

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

Inherited from IterableOps

Source
def iterator: Iterator[A]

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

Inherited from IndexedSeqOps

Source
override def knownSize: Int

Returns

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

Definition Classes IndexedSeqOps -> IterableOnce
Inherited from IndexedSeqOps

Source
override def last: A

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

Returns

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

Throws
NoSuchElementException

Если массив пустой.

Definition Classes IndexedSeqOps -> IterableOps
Inherited from IndexedSeqOps

Source
def lastIndexOf[B >: A](elem: B, end: Int): Int

Находит индекс последнего вхождения некоторого значения в этот массив до или на заданном индексе конца.

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

Type parameters
B

тип элемента elem.

Value parameters
elem

значение элемента для поиска.

end

индекс конца.

Returns

индекс <= end последнего элемента этого массива, который равен (как определяется ==) elem, или -1, если такой элемент отсутствует.

Inherited from SeqOps

Source
def lastIndexOfSlice[B >: A](that: Seq[B]): Int

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

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

Value parameters
that

массив для проверки

Returns

последний индекс такой, что элементы этого массива, начиная с этого индекса, совпадают с элементами массива that, или -1, если такой подпоследовательности не существует.

Inherited from SeqOps

Source
def lastIndexOfSlice[B >: A](that: Seq[B], end: Int): Int

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

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

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

индекс конца

that

последовательность для проверки

Возвращает

последний индекс <= end такой, что элементы этой последовательности, начинающиеся с этого индекса, соответствуют элементам последовательности that, или -1 если такой подпоследовательности не существует.

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

индекс <= end последнего элемента этой последовательности, удовлетворяющего предикату p, или -1, если такового нет.

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

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

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

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

Возвращает

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

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

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

Длина (количество элементов) последовательности. size является псевдонимом для length в коллекциях Seq.

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

Источник
final override def lengthCompare(that: Iterable[_]): Int

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

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

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

Возвращает

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

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

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

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

Источник
final override def lengthCompare(len: Int): Int

Сравнивает длину этой последовательности со значением теста.

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

значение теста, которое сравнивается с длиной.

Возвращает

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

x <  0       if this.length <  len
x == 0       if this.length == len
x >  0       if this.length >  len

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

См. также

lengthIs

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

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

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

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

this.lengthIs < len     // this.lengthCompare(len) < 0
this.lengthIs <= len    // this.lengthCompare(len) <= 0
this.lengthIs == len    // this.lengthCompare(len) == 0
this.lengthIs != len    // this.lengthCompare(len) != 0
this.lengthIs >= len    // this.lengthCompare(len) >= 0
this.lengthIs > len     // this.lengthCompare(len) > 0
Унаследовано от SeqOps

Исходный код
override def map[B](f: A => B): CC[B]

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

Исходный код
def padTo[B >: A](len: Int, elem: B): CC[B]

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

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

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

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

значение для заполнения

len

целевая длина

Возвращает

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

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

Исходный код
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 patch[B >: A](from: Int, other: IterableOnce[B], replaced: Int): CC[B]

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

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

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

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

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

индекс первого заменяемого элемента

other

набор для замены

replaced

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

Возвращает

новый набор, состоящий из всех элементов исходного набора, за исключением того, что replaced элементы, начиная с from, заменяются всеми элементами other.

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

Исходный код
def permutations: Iterator[C]

Итерация по различным перестановкам.

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

Возвращает

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

Пример

"abb".permutations = Iterator(abb, bab, bba)

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

Исходный код
override def prepended[B >: A](elem: B): CC[B]

Копия набора с добавленным элементом в начало.

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

Пример:

scala> val x = List(1)
x: List[Int] = List(1)

scala> val y = 2 +: x
y: List[Int] = List(2, 1)

scala> println(x)
List(1)
Параметры типа
B

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

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

элемент для добавления в начало

Возвращает

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

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

Source
def prependedAll[B >: A](prefix: IterableOnce[B]): CC[B]

Как и :++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.

Отличается от :++ тем, что тип возвращаемой коллекции определяется правым операндом, а не левым. Мнемоника: двоеточие находится со стороны нового типа коллекции.

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Параметры типа
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]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

class="attributes">
Параметры типа
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]

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
override def reverse: C

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

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

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

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

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

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

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

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

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

Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть эффективнее.

Возвращает

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

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

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

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

Исходный код
def sameElements[B >: A](that: IterableOnce[B]): Boolean

Являются ли элементы этой коллекции одинаковыми (и в том же порядке) что и элементы that?

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

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

Исходный код
override def search[B >: A](elem: B, from: Int, to: Int)(implicit ord: Ordering[B]): SearchResult

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

Последовательность должна быть отсортирована с тем же Ordering перед вызовом; в противном случае результаты не определены.

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

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

from

индекс, с которого начинается поиск.

ord

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

to

индекс, следующий за тем, где поиск заканчивается.

Возвращает

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

См. также

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

Примечание

если to <= from, пространство поиска пустое, и возвращается InsertionPoint в from

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

Исходный код
override def search[B >: A](elem: B)(implicit ord: Ordering[B]): SearchResult

Ищет заданный элемент в этой отсортированной последовательности. Если последовательность является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.

Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.

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

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

ord

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

Возвращает

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

См. также

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

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

Исходный код
def segmentLength(p: A => Boolean, from: Int): Int

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

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

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

индекс, с которого начинается поиск.

p

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

Возвращает

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

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

Исходный код
final def segmentLength(p: A => Boolean): Int

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

Сравнивает размер этой последовательности с размером другой последовательности.

Параметры
that

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

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

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

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.

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

Source
final override def sizeCompare(otherSize: Int): Int

Сравнивает размер этой последовательности со значением.

Параметры
otherSize

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

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

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

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

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

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
override def slice(from: Int, until: Int): C

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

from <= indexOf(x) < until
Параметры
from

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

until

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

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

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

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

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

Source
def sortBy[B](f: A => B)(implicit ord: Ordering[B]): C

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

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

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

Сортировка устойчива. То есть элементы, которые равны (как определяется ord.compare), появляются в отсортированной последовательности в том же порядке, что и в исходной.

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

целевой тип преобразования f, и тип, где определено упорядочение ord.

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

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

ord

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

Возвращает

последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с порядком, где x < y при ord.lt(f(x), f(y)).

См. также

scala.math.Ordering

Пример
val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
Унаследовано от SeqOps

Source
def sortWith(lt: (A, A) => Boolean): C

Сортирует этот набор по функции сравнения.

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

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

Сортировка устойчива. То есть элементы, которые равны (как определяется lt), появляются в отсортированной последовательности в том же порядке, что и в исходной.

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

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

Возвращает

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

Пример
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
Унаследовано от SeqOps

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

Сортирует этот набор в соответствии с упорядочением.

Сортировка устойчива. То есть элементы, которые равны (как определяется ord.compare), появляются в отсортированной последовательности в том же порядке, что и в исходной.

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

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

Возвращает

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

См. также

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

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

Исходный код
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 startsWith[B >: A](that: IterableOnce[B], offset: Int): Boolean

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

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

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

индекс, в котором ищется последовательность.

that

тестируемая последовательность

Возвращает

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

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

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

Возвращает 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 можно преобразовать только в последовательные потоки.

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

END_OF_DOCUMENT_MARKER
Параметры значения
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

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

Источник
def update(idx: Int, elem: A): Unit

Заменяет элемент по заданному индексу новым значением.

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

новое значение.

idx

индекс элемента для замены.

Исключение
IndexOutOfBoundsException

если индекс недействителен.

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

Источник
def updated[B >: A](index: Int, elem: B): CC[B]

Копия этой последовательности с одним заменённым элементом.

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

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

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

заменяемый элемент

index

позиция замены

Возвращает

новая последовательность, являющаяся копией этой последовательности с элементом в позиции index заменённым на elem.

Исключения
IndexOutOfBoundsException

если index не удовлетворяет 0 <= index < length. В случае ленивой коллекции это исключение может быть выброшено позже или вообще не выброшено (если конец коллекции никогда не вычисляется).

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

Исходный код
override def view: IndexedSeqView[A]

Вид на элементы этой коллекции.

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

Исходный код
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/mutable/IndexedSeqOps.html

Spec-Zone.ru

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