Spec-Zone.ru › Scala 3.2

Класс StringBuilder.StringBuilder

Объект-компаньон • Исходный код

final class StringBuilder(val underlying: StringBuilder) extends AbstractSeq[Символ] with ReusableBuilder[Символ, String] with IndexedSeq[Символ] with IndexedSeqOps[Символ, IndexedSeq, StringBuilder] with IterableFactoryDefaults[Символ, IndexedSeq] with CharSequence with Serializable

Строитель для изменяемой последовательности символов. Этот класс предоставляет API, в основном совместимый с java.lang.StringBuilder, за исключением случаев конфликтов с API коллекций Scala (например, метод reverse).

Этот Строитель может быть повторно использован после вызова result(), без промежуточного вызова clear(), для построения нескольких связанных результатов.

Суператрибуты
31 тип
Трейт Serializable
Трейт CharSequence
Трейт IndexedSeq[Символ]
Трейт IndexedSeqOps[Символ, IndexedSeq, StringBuilder]
Трейт IndexedSeq[Символ]
Трейт IndexedSeqOps[Символ, IndexedSeq, StringBuilder]
Трейт ReusableBuilder[Символ, String]
Трейт Builder[Символ, String]
Трейт Growable[Символ]
Трейт Clearable
Класс AbstractSeq[Символ]
Трейт Seq[Символ]
Трейт SeqOps[Символ, IndexedSeq, StringBuilder]
Трейт Cloneable[StringBuilder]
Трейт Cloneable
Трейт Iterable[Символ]
Класс AbstractSeq[Символ]
Трейт Seq[Символ]
Трейт Equals
Трейт SeqOps[Символ, IndexedSeq, StringBuilder]
Трейт PartialFunction[Целое число, Символ]
Трейт Целое число => Символ
Класс AbstractIterable[Символ]
Трейт Iterable[Символ]
Трейт IterableFactoryDefaults[Символ, IndexedSeq]
Трейт IterableOps[Символ, IndexedSeq, StringBuilder]
Трейт IterableOnceOps[Символ, IndexedSeq, StringBuilder]
Трейт IterableOnce[Символ]
Класс Object
Трейт Matchable
Класс Any

Конструкторы

Исходный код
def this()

Исходный код
def this(capacity: Целое число)

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

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

начальная ёмкость.

Исключения
java.lang.NegativeArraySizeException

если capacity < 0.

Исходный код
def this(str: String)

Создаёт строковый буфер с начальными символами, равными символам str.

Исходный код
def this(initCapacity: Целое число, initValue: String)

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

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

Исходный код
def ++=(s: String): StringBuilder.this.type

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

Исходный код
def addAll(s: String): StringBuilder.this.type

Перегруженная версия addAll, принимающая строку

Исходный код
def addOne(x: Символ): StringBuilder.this.type

Добавляет один элемент в этот строковый буфер.

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

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

Возвращает

сам строковый буфер

Исходный код
def append(x: Any): StringBuilder

Добавляет строковое представление данного аргумента, которое преобразуется в строку с использованием String.valueOf.

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

объект Any.

Возвращает

этот StringBuilder.

Исходный код
def append(s: String): StringBuilder

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

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

строка.

Возвращает

этот StringBuilder.

Исходный код
def append(cs: CharSequence): StringBuilder

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

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

CharSequence.

Возвращает

этот StringBuilder.

Исходный код
def append(s: StringBuilder): StringBuilder

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

Возвращает

Исходный код
def append(x: Boolean): StringBuilder

Добавить строковое представление заданного примитивного типа в эту последовательность. Аргумент преобразуется в строку с помощью String.valueOf.

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

примитивное значение

Возвращает

Этот StringBuilder.

Источник
def append(x: Byte): StringBuilder

Источник
def append(x: Short): StringBuilder

Источник
def append(x: Int): StringBuilder

Источник
def append(x: Long): StringBuilder

Источник
def append(x: Float): StringBuilder

Источник
def append(x: Double): StringBuilder

Источник
def append(x: Char): StringBuilder

Источник
def appendAll(xs: String): StringBuilder

Источник
def appendAll(xs: IterableOnce[Char]): StringBuilder

Добавляет все символы в заданном IterableOnce[Char] в эту последовательность.

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

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

Возвращает

это StringBuilder.

Источник
def appendAll(xs: Array[Char]): StringBuilder

Добавляет все символы в заданном Array[Char] в эту последовательность.

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

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

Возвращает

ссылка на этот объект.

Источник
def appendAll(xs: Array[Char], offset: Int, len: Int): StringBuilder

Добавляет часть заданного Array[Char] в эту последовательность.

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

количество символов для добавления.

offset

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

xs

массив, содержащий добавляемые символы.

Возвращает

это StringBuilder.

Источник
def apply(i: Int): Char

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

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

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

Возвращает

емкость

Источник
def charAt(index: Int): Char

Возвращает символ по указанному индексу, считая с 0, как в массивах.

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

индекс для поиска

Возвращает

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

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

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

Источник
def clear(): Unit

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

Если выполняется сразу после вызова result(), это позволяет создать новую инстанцию того же типа коллекции.

Источник
def delete(start: Int, end: Int): StringBuilder

Удаляет подпоследовательность символов из этой последовательности, начиная с указанного индекса начала (включительно) и до индекса конца (исключительно) или до конца строки, в зависимости от того, что произойдёт раньше.

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

Конечный индекс, исключая.

start

Начальный индекс, включая.

Возвращает

Этот StringBuilder.

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

если start < 0 || start > end

Источник
def deleteCharAt(index: Int): StringBuilder.this.type

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

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

Индекс для удаления.

Возвращает

Этот StringBuilder.

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

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

Источник
override def empty: StringBuilder

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

Возвращает

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

Классы определений IterableFactoryDefaults -> IterableOps

Источник
def ensureCapacity(newCapacity: Int): Unit

Убедитесь, что емкость по крайней мере равна заданному аргументу. Если аргумент больше текущей емкости, будет выделена новая область хранения размером, равным заданному аргументу или (2 * capacity + 2), что больше.

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

минимальная требуемая емкость.

Источник
def indexOf(str: String): Int

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

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

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

Возвращает

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

Source
def indexOf(str: String, fromIndex: Int): Int

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

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

наименьший индекс в исходной строке для рассмотрения

str

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

Возвращает

первый применимый индекс, где встречается целевой элемент, или -1, если он не найден.

Source
def insert(index: Int, x: Any): StringBuilder

Вставляет строковое представление (через String.valueOf) заданного аргумента в эту последовательность по заданному индексу.

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

индекс, по которому нужно вставить.

x

значение.

Возвращает

этот StringBuilder.

Исключения
StringIndexOutOfBoundsException

если индекс находится вне границ.

Source
def insert(index: Int, x: String): StringBuilder

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

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

индекс, по которому нужно вставить.

x

строка.

Возвращает

этот StringBuilder.

Исключения
StringIndexOutOfBoundsException

если индекс находится вне границ.

Source
def insert(index: Int, x: Boolean): StringBuilder

Вызывает String.valueOf на данном примитивном значении и вставляет строку по указанному индексу.

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

позиция смещения.

x

примитивное значение.

Возвращает

этот StringBuilder.

Source
def insert(index: Int, x: Byte): StringBuilder

Source
def insert(index: Int, x: Short): StringBuilder

Source
def insert(index: Int, x: Int): StringBuilder

Source
def insert(index: Int, x: Long): StringBuilder

Source
def insert(index: Int, x: Float): StringBuilder

Source
def insert(index: Int, x: Double): StringBuilder

Source
def insert(index: Int, x: Char): StringBuilder

Source
def insertAll(index: Int, str: Array[Char], offset: Int, len: Int): StringBuilder

Вставляет подмассив из данного Array[Char] в указанный индекс этой последовательности.

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

Индекс, в который вставляется подмассив.

len

Количество символов из 'str' для вставки.

offset

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

str

Массив, из которого будут взяты символы.

Возвращает

Этот StringBuilder.

Бросает
StringIndexOutOfBoundsException

если index < 0, index > length, offset < 0, len < 0 или (offset + len) > str.length.

Источник
def insertAll(index: Int, xs: IterableOnce[Char]): StringBuilder

Вставляет заданный Seq[Char] в эту последовательность в указанный индекс.

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

Индекс, в который требуется вставить.

xs

Seq[Char].

Возвращает

Этот StringBuilder.

Бросает
StringIndexOutOfBoundsException

если индекс находится вне границ.

Источник
def insertAll(index: Int, xs: Array[Char]): StringBuilder

Вставляет заданный Array[Char] в эту последовательность в указанный индекс.

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

Индекс, в который требуется вставить.

xs

Array[Char].

Возвращает

Этот StringBuilder.

Бросает
StringIndexOutOfBoundsException

если индекс находится вне границ.

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

Проверяет, пуст ли этот билдер.

Этот метод требуется для совместимости с JDK15+.

Возвращает

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

Классы определения CharSequence -> SeqOps -> IterableOnceOps

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

Возвращает

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

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

Источник
def lastIndexOf(str: String): Int

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

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

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

Возвращает

последний применимый индекс, где встречается цель, или -1, если не найдено.

Источник
def lastIndexOf(str: String, fromIndex: Int): Int

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

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

наименьший индекс в исходной строке для рассмотрения

str

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

Возвращает

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

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

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

Источник
def length_=(n: Int): Unit

Источник
def replace(start: Int, end: Int, str: String): StringBuilder

Заменяет подпоследовательность символов заданной строкой. Семантика такая же, как и в методе delete, но затем строка-аргумент вставляется в индекс 'start'.

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

Конечный индекс, исключая его.

start

Начальный индекс, включая его.

str

Строка, которая будет вставлена в индекс start.

Возвращает

Этот StringBuilder.

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

если start < 0, start > length или start > end

Источник
def result(): String

Создает коллекцию из добавленных элементов.

После вызова result, поведение всех других методов не определено, за исключением clear(). Если вызывается clear(), тогда сборщик сбрасывается и может быть использован для построения другого экземпляра.

Возвращает

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

Источник
def reverseInPlace(): StringBuilder.this.type

Аналогично reverse, но деструктивно обновляет целевой StringBuilder.

Возвращает

обращенный StringBuilder (такой же, как целевой StringBuilder)

Источник
def setCharAt(index: Int, ch: Char): StringBuilder.this.type

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

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

новый символ.

index

индекс для изменения.

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

если индекс находится вне границ.

Источник
def setLength(len: Int): Unit

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

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

новая длина

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

если аргумент отрицательный.

Источник
def subSequence(start: Int, end: Int): CharSequence

Для реализации CharSequence.

Источник
def substring(start: Int): String

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

target.substring(start) эквивалентно target.drop(start)

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

Начальный индекс, включая его.

Возвращает

Новая строка.

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

если индекс находится вне границ.

Источник
def substring(start: Int, end: Int): String

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

target.substring(start, end) эквивалентно target.slice(start, end).mkString

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

Конечный индекс, исключая его.

start

Начальный индекс, включая его.

Возвращает

Новая строка.

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

Если любой из индексов находится вне границ или если start > end.

Источник
override def toArray[B >: Char](implicit ct: ClassTag[B]): Array[B]

Преобразовать коллекцию в массив.

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

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

Источник
def toCharArray: Array[Char]

Возвращает содержимое этого StringBuilder в виде массива.

Возвращает

Массив с символами из этого сборщика.

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

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

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

Возвращает

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

Классы определений CharSequence -> Seq -> Function1 -> Iterable -> Any

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

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

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

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

idx

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

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

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

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

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

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

Наследованно из IterableOps

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

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

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

Source
final def ++=(xs: IterableOnce[Char]): Growable.this.type

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

Inherited from Growable

Source
final def +:[B >: Char](elem: B): CC[B]

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

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

Inherited from SeqOps

Source
final def +=(elem: Char): Growable.this.type

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

Inherited from Growable

Source
final def :+[B >: Char](elem: B): CC[B]

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

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

Inherited from SeqOps

Source
final def :++[B >: Char](suffix: IterableOnce[B]): CC[B]

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

Inherited from SeqOps

Source
def addAll(xs: IterableOnce[Char]): Growable.this.type

Добавляет все элементы, полученные из IterableOnce, в эту коллекцию с возможностью расширения.

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

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

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

сама коллекция с возможностью расширения.

Inherited from Growable

Source
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, в который были добавлены элементы.

Inherited from IterableOnceOps

Source
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, в который были добавлены элементы.

Inherited from IterableOnceOps

Source
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, в который были добавлены элементы.

Inherited from IterableOnceOps

Source
def andThen[C](k: PartialFunction[Char, C]): PartialFunction[A, C]

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

Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.

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

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

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

функция преобразования

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

частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая сопоставляет аргументы x с k(this(x)).

Inherited from PartialFunction

Source
override def andThen[C](k: Char => C): PartialFunction[A, C]

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

Если тип функции в момент выполнения является PartialFunction, тогда используется другой метод andThen (обратите внимание на его предостережения).

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

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

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

функция преобразования

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

частичная функция с областью определения этой частичной функции, возможно суженной указанной функцией, которая сопоставляет аргументы x с k(this(x)).

Классы определений PartialFunction -> Function1
Inherited from PartialFunction

Source
def appended[B >: Char](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.

Inherited from SeqOps

Source
def appendedAll[B >: Char](suffix: IterableOnce[B]): CC[B]

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

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

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

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

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

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

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

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

Источник
def applyOrElse[A1 <: Int, B1 >: Char](x: A1, default: A1 => B1): B1

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

Обратите внимание, что выражение pf.applyOrElse(x, default) эквивалентно

if(pf isDefinedAt x) pf(x) else default(x)

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

- объединение частичных функций в цепочки orElse/andThen не приводит к чрезмерной оценке apply/isDefinedAt - lift и unlift не оценивают исходные функции дважды при каждом вызове - runWith позволяет эффективно объединять частичные функции в стиле императивного программирования с условными действиями

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

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

функция обратного вызова

x

аргумент функции

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

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

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

Источник
def canEqual(that: Any): Boolean

Метод, который должен вызываться из каждого хорошо спроектированного метода equals, который может быть переопределен в подклассе. См. Программирование на языке Scala, глава 28 для обсуждения и проектирования.

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

значение, которое проверяется на возможность равенства

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

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

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

def chars(): IntStream

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

Источник
override def clone(): C

Создает копию объекта-получателя.

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

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

копия объекта-получателя.

Примечание

не указано SLS в качестве члена AnyRef

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

def codePoints(): IntStream

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

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

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

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

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

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

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

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

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

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

Источник
def collectFirst[B](pf: PartialFunction[Char, 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

Источник
def compose[R](k: PartialFunction[R, Int]): PartialFunction[R, B]

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

Обратите внимание, что вызов isDefinedAt для получившейся частичной функции может применить первую частичную функцию и выполнить её побочные эффекты. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.

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

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

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

функция преобразования

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

частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы x в this(k(x)).

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

Источник
def compose[A](g: A => Int): A => R

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

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

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

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

функция A => T1

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

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

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

Source
final override def concat[B >: Char](suffix: IterableOnce[B]): CC[B]

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

Type parameters
B

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

Value parameters
suffix

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

Returns

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

Definition Classes SeqOps -> IterableOps
Inherited from SeqOps

Source
def contains[A1 >: Char](elem: A1): Boolean

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

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

Value parameters
elem

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

Returns

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

Inherited from SeqOps

Source
def containsSlice[B >: Char](that: Seq[B]): Boolean

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

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

Value parameters
that

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

Returns

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

Inherited from SeqOps

Source
def copyToArray[B >: Char](xs: Array[B], start: Int, len: Int): Int

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

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

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

Type parameters
B

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

Value parameters
len

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

start

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

xs

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

Returns

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

Note

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

Inherited from IterableOnceOps

Source
def copyToArray[B >: Char](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def diff[B >: Char](that: Seq[B]): C

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

Источник
def distinctBy[B](f: Char => 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.

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def elementWise: ElementWiseExtractor[A, B]

Возвращает объект-экстрактор с методом unapplySeq, который извлекает каждый элемент данных последовательности.

Пример
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
  case firstChar.unlift.elementWise(c0, c1, c2) =>
    println(s"$c0, $c1, $c2") // Output: f, b, b
}
Унаследовано от PartialFunction

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

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

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

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

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

Возвращает

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

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

Источник
override def equals(o: Any): Boolean

Универсальный метод равенства, определённый в AnyRef.

class="attributes">
Классы-определения Seq -> Equals -> Any
Унаследовано от Seq

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Source
def flatMap[B](f: Char => IterableOnce[B]): CC[B]

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

Например:

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

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

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

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

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

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

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

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

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

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

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

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

Source
def flatten[B](implicit asIterable: Char => IterableOnce[B]): CC[B]

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

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

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

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

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

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

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

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

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

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

Source
def fold[A1 >: Char](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

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

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

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

Source
def foldLeft[B](z: B)(op: (B, Char) => B): B

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Источник
override def foldRight[B](z: B)(op: (Символ, B) => B): B

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

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

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

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

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

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

z

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

Возвращает

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

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

Источник
def forall(p: Символ => Boolean): Boolean

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

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

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

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

Возвращает

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

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

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

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

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

Источник
def groupBy[K](f: Символ => 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: Символ => K)(f: Символ => 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: Char => K)(f: Char => 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

Исходный код
override def hashCode(): Int

Вычисляет значение хэш-кода для объекта.

Стандартный алгоритм хэширования зависит от платформы.

Обратите внимание, что для двух объектов допустимо иметь идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)) но не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true ), у них должны быть идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода обязательно проверьте, что поведение согласуется с методом equals.

Возвращает

значение хэш-кода для данного объекта.

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

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

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

Возвращает

первый элемент этого набора.

Исключения
NoSuchElementException

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

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

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

Необязательно выбирает первый элемент.

Возвращает

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

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

Исходный код
def indexOf[B >: Char](elem: B): Int

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

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

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

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

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

Возвращает

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

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

Исходный код
def indexOf[B >: Char](elem: B, from: Int): Int

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

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

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

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

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

from

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

Возвращает

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

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

Исходный код
def indexOfSlice[B >: Char](that: Seq[B]): Int

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

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

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

набор, который нужно проверить

Возвращает

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

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

Исходный код
def indexOfSlice[B >: Char](that: Seq[B], from: Int): Int

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

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

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

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

that

набор, который нужно проверить

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

p

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

Возвращает

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

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

Исходный код
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 >: Char](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 isTraversableAgain: Boolean

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

Возвращает

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

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

Исходный код
override def iterableFactory: SeqFactory[IndexedSeq]

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

Примечание

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

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

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

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

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

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Исходный код
def lastIndexOf[B >: Char](elem: B, end: Int): Int

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

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

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

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

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

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

end

конечный индекс.

Возвращает

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

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

Исходный код
def lastIndexOfSlice[B >: Char](that: Seq[B]): Int

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

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

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

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

Возвращает

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

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

Исходный код
def lastIndexOfSlice[B >: Char](that: Seq[B], end: Int): Int

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

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

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

конечный индекс

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def lastIndexWhere(p: Char => Boolean, end: Int): Int

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

Исходный код
def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, Iterable]

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

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

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

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

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

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

Возвращает

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

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

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

Исходный код
def lift: A => Option[B]

Преобразует эту частичную функцию в обычную функцию, возвращающую результат типа Option.

Возвращает

функцию, которая принимает аргумент x и возвращает Some(this(x)) если this определена для x, и None в противном случае.

См. также

Function.unlift

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def mapResult[NewTo](f: String => NewTo): Builder[A, NewTo]

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

значение опции, содержащей наименьший элемент этого набора относительно упорядочения 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 orElse[A1 <: Int, B1 >: Char](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

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

тип аргумента резервной функции

B1

тип результата резервной функции

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

резервная функция

Возвращает

частичная функция, у которой область определения является объединением областей определения этой частичной функции и that. Результирующая частичная функция принимает x в this(x), где this определена, и в that(x) в противном случае.

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

Источник
def padTo[B >: Char](len: Int, elem: B): CC[B]

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

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

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

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

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

len

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

Возвращает

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

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

Источник
def partition(p: Char => Boolean): (C, C)

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

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

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

Источник
def partitionMap[A1, A2](f: Char => 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 >: Char](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 >: Char](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

Источник
def prependedAll[B >: Char](prefix: IterableOnce[B]): CC[B]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Источник
def reduceLeftOption[B >: Char](op: (B, Char) => B): Option[B]

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def reduceOption[B >: Char](op: (B, B) => B): Option[B]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Источник
def reduceRightOption[B >: Char](op: (Char, B) => B): Option[B]

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def reverse: C

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

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

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

Возвращает

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

Классы определения 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 runWith[U](action: Char => U): A => Boolean

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

Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно

if(pf isDefinedAt x) { action(pf(x)); true } else false

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

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

функция действия

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

функция, которая отображает аргументы x в isDefinedAt(x). Результирующая функция выполняет action(this(x)) там, где this определено.

См. также

applyOrElse.

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

Источник
def sameElements[B >: Char](that: IterableOnce[B]): Boolean

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

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

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

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

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

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

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

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

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

z

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

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

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

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

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

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

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

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

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

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

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

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

z

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

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

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

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

Источник
def scanRight[B](z: B)(op: (Char, 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 >: Char](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 >: Char](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: Char => Boolean, from: Int): Int

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

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

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

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

p

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

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

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

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

Источник
final def segmentLength(p: Char => 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 sizeHint(coll: IterableOnce[_], delta: Int): Unit

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

Параметры
coll

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

delta

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

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

Source
def sizeHint(size: Int): Unit

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

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

Параметры
size

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

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

Source
final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit

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

Параметры
boundingColl

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

size

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

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

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

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

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: Char => 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

Источник
def sortInPlace[B >: Char]()(implicit ord: Ordering[B]): IndexedSeqOps.this.type

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

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

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

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

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

См. также

scala.collection.SeqOps.sorted

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

Источник
def sortInPlaceBy[B](f: Char => B)(implicit ord: Ordering[B]): IndexedSeqOps.this.type

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

См. также

scala.collection.SeqOps.sortBy

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

Источник
def sortInPlaceWith(lt: (Char, Char) => Boolean): IndexedSeqOps.this.type

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

См. также

scala.collection.SeqOps.sortWith

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

Источник
def sortWith(lt: (Char, Char) => Boolean): C

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

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

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

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

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

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

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

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

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

Источник
def sorted[B >: Char](implicit ord: Ordering[B]): C

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

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

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

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

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

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

См. также

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

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

Источник
def span(p: Char => 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 >: Char](that: IterableOnce[B], offset: Int): Boolean

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

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

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

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

that

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

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

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

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

Источник
override def stepper[S <: Stepper[_]](implicit shape: StepperShape[Char, 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

END_OF_DOCUMENT_MARKER

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

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

Источник
def sum[B >: Char](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: Char => Boolean): C

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Исходный код
def transpose[B](implicit asIterable: Char => 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 unapply(a: Int): Option[B]

Попытка извлечь B из A в выражении сопоставления с образцом.

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

Исходный код
def unzip[A1, A2](implicit asPair: Char => (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: Char => (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 updated[B >: Char](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: Char => 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 >: Char, 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

Конкретные поля

Исходный код
val underlying: StringBuilder

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

Spec-Zone.ru

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