Spec-Zone.ru › Scala 3.2

Трейт SortedSetOps.SortedSetOps

Исходный код

трейт SortedSetOps[A, +CC <: (SortedSet), +C <: SortedSetOps[A, CC, C]] extends SetOps[A, Множество, C] with SortedSetOps[A, CC, C]

Супертипы
трейт SortedSetOps[A, CC, C]
трейт SortedOps[A, C]
трейт SetOps[A, Множество, C]
трейт SetOps[A, Множество, C]
трейт A => Boolean
трейт IterableOps[A, Множество, C]
трейт IterableOnceOps[A, Множество, C]
трейт IterableOnce[A]
класс Object
трейт Matchable
класс Any
Известные подтипы
класс ValueSet
класс BitSet
класс BitSet1
класс BitSet2
класс BitSetN
трейт SortedSet[A]
класс ImmutableKeySortedSet
класс TreeSet[A]
трейт StrictOptimizedSortedSetOps[A, CC, C]

Абстрактные методы

Исходный код
def unsorted: Множество[A]

Наследуемые методы

Исходный код
final def &(that: Множество[A]): C

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

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

Исходный код
final def &~(that: Множество[A]): C

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

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

Исходный код
final override def +(elem: A): C

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

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

Исходный код
final def ++(that: IterableOnce[A]): C

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

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

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

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

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

Исходный код
final override def -(elem: A): C

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

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

Исходный код
final override def --(that: IterableOnce[A]): C

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

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

Исходный код
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 andThen[A](g: Boolean => A): T1 => A

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

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

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

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

функция R => A

Возвращает

новая функция f, такая что f(x) == g(apply(x))

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

Исходный код
final def apply(elem: A): Boolean

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
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 compose[A](g: A => A): A => R

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

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

тип, к которому функция g может быть применена

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

функция A => T1

Возвращает

новая функция f такая, что f(x) == apply(g(x))

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

Источник
def concat(that: IterableOnce[A]): C

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

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

Пример:

scala> val a = Set(1, 2) concat Set(2, 3)
a: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
Параметры значения
that

коллекция, содержащая добавляемые элементы.

Возвращает

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

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

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

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

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

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

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

перебираемая коллекция для добавления.

Возвращает

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

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

Источник
def contains(elem: A): Boolean

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

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

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

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

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

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

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

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

that

другая коллекция

Возвращает

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

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

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

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

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

class="attributes">
Параметры значения
p

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

Возвращает

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

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

Исходный код
def diff(that: Set[A]): C

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

class="attributes">
Параметры значения
that

множество элементов, которые нужно исключить.

Возвращает

множество, содержащее те элементы этого множества, которые не содержатся также в заданном множестве that.

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

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

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

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

class="attributes">
Параметры значения
n

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

Возвращает

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

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

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

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

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

class="attributes">
Параметры значения
n

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

Возвращает

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

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

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

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

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

class="attributes">
Параметры значения
p

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

Возвращает

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

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

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

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

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

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

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

Исходный код
def excl(elem: A): C

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

class="attributes">
Параметры значения
elem

элемент, который нужно удалить

Возвращает

новое множество, содержащее все элементы этого множества, но не содержащее elem.

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

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

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

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

class="attributes">
Параметры значения
p

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

Возвращает

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

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

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

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

class="attributes">
Параметры значения
p

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

Возвращает

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

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

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

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

class="attributes">
Параметры значения
pred

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

Возвращает

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

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

Исходный код
def find(p: A => Boolean): Option[A]

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

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

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

class="attributes">
Параметры значения
p

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

Возвращает

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

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

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

Возвращает первый ключ коллекции.

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

Исходный код
def flatMap[B](f: A => IterableOnce[B])(implicit ev: Ordering[B]): CC[B]

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

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

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

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

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

Возвращает

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

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

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

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

Например:

def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")

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

// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)

// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)

// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)

// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
Тип параметров
B

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

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

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

Возвращает

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

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

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

Преобразует этот итерируемый набор наборов итерируемых объектов в итерируемый набор, образованный элементами этих наборов итерируемых объектов.

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

См. также

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

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

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

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

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

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

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

Возвращает

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

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

Источник
def incl(elem: A): C

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

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

элемент, который нужно добавить

Возвращает

новый набор, содержащий все элементы этого набора и также содержащий elem.

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

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

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

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

множество для пересечения.

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

Примечание

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

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

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

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

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

Источник
def iteratorFrom(start: A): Iterator[A]

Создаёт итератор, содержащий все значения из этой коллекции, большие или равные start в соответствии с порядком этой коллекции. x.iteratorFrom(y) эквивалентно, но обычно более эффективно, чем x.from(y).iterator

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

нижняя граница (включительно) итератора

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

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

Возвращает

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

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

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

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

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

Возвращает

Последний элемент этого итерируемого набора.

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

Если итерируемый набор пустой.

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

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

Возвращает последний ключ набора.

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Исходный код
def maxBefore(key: A): Option[A]

Найти наибольший элемент, меньший заданного ключа.

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

Заданный ключ.

Возвращает

None если такого узла нет.

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

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

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

Возвращает

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

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

Исходный код
def maxOption[B >: A](implicit ord: Ordering[B]): Option[A]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Исходный код
def minAfter(key: A): Option[A]

Найти наименьший элемент, больший или равный заданному ключу.

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

Заданный ключ.

Возвращает

None если такого узла нет.

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

Исходный код
def minBy[B](f: A => B)(implicit cmp: Ordering[B]): A

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
final def mkString: String

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

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

Возвращает

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

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

Source
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

Source
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

Source
def nonEmpty: Boolean

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

Возвращает

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

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

Source
def ordering: Ordering[A]

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

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

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

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

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

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

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

Пример:

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

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

A2

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

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

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

Возвращает

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

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

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

Перемножает элементы этого набора.

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

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

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

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

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

Возвращает

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

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

Source
def range(from: A, until: A): C

Создает проекцию диапазона этого набора с нижней и верхней границами.

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

Нижняя граница (включительно) диапазона проекции.

until

Верхняя граница (исключительно) диапазона проекции.

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

Источник
def rangeFrom(from: A): C

Создаёт проекцию диапазона этой коллекции без верхней границы.

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

Нижняя граница (включительно) диапазона проекции.

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

Источник
def rangeImpl(from: Option[A], until: Option[A]): C

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

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

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

Нижняя граница (включительно) диапазона проекции. None если нижней границы нет.

until

Верхняя граница (исключительно) диапазона проекции. None если верхней границы нет.

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

Источник
def rangeTo(to: A): C

Создаёт проекцию диапазона этой коллекции без нижней границы.

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

Верхняя граница (включительно) диапазона проекции.

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

Источник
def rangeUntil(until: A): C

Создаёт проекцию диапазона этой коллекции без нижней границы.

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

Верхняя граница (исключительно) диапазона проекции.

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

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

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

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

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

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

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

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

Возвращает

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

Источник
def removedAll(that: IterableOnce[A]): C

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

Источник
def sizeCompare(otherSize: Int): Int

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

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

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

Возвращает

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

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

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

См. также

sizeIs

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

Источник
final def sizeIs: SizeCompareOps

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

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

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

Источник
def slice(from: Int, until: Int): C

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

from <= indexOf(x) < until

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

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

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

until

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

Возвращает

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

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

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

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

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

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

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

step

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

Возвращает

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

См. также

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

Пример

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

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

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

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

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

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

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

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

Возвращает

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

См. также

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

Пример

List().sliding(2) = empty iterator

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

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

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

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

Источник
def sortedIterableFactory: SortedIterableFactory[CC]

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

Примечание

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

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

Источник
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 subsetOf(that: Set[A]): Boolean

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

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

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

Возвращает

true , если это множество является подмножеством that, т.е. если каждый элемент этого множества также является элементом that.

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

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

Итератор по всем подмножествам этого множества.

Возвращает

итератор.

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

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

Итератор по всем подмножествам этого множества заданного размера. Если запрошенный размер невозможен, возвращается пустой итератор.

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

размер подмножеств.

Возвращает

итератор.

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

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

Возвращает строковое представление объекта.

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

Возвращает

строковое представление объекта.

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

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

Источник
final def union(that: Set[A]): C

Вычисляет объединение множества и другого множества.

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

множество, с которым будет образовано объединение.

Возвращает

новое множество, состоящее из всех элементов, которые находятся в этом множестве или в заданном множестве that.

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

Источник
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 view: View[A]

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

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

Источник
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])(implicit ev: Ordering[(A, B)]): CC[(A, B)]

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

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

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

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

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

Возвращает

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

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

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

Исходный код
final def |(that: Set[A]): C

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

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

© 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/immutable/SortedSetOps.html

Spec-Zone.ru

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