Spec-Zone.ru › Scala 3.2

Класс WrappedString.WrappedString

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

final class WrappedString(self: String) extends AbstractSeq[Char] with IndexedSeq[Char] with IndexedSeqOps[Char, IndexedSeq, WrappedString] with Serializable

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

Разница между этим классом и StringOps заключается в том, что вызов методов преобразования, таких как filter и map, вернёт объект типа WrappedString, а не String.

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

строка, содержащаяся в этой обернутой строке

Надтипы
24 типа
Тракт Serializable
Тракт IndexedSeq[Char]
Тракт IndexedSeqOps[Char, IndexedSeq, WrappedString]
Тракт IndexedSeq[Char]
Тракт IndexedSeqOps[Char, IndexedSeq, WrappedString]
Класс AbstractSeq[Char]
Тракт Seq[Char]
Тракт SeqOps[Char, IndexedSeq, WrappedString]
Тракт Iterable[Char]
Класс AbstractSeq[Char]
Тракт Seq[Char]
Тракт Equals
Тракт SeqOps[Char, IndexedSeq, WrappedString]
Тракт PartialFunction[Int, Char]
Тракт Int => Char
Класс AbstractIterable[Char]
Тракт Iterable[Char]
Тракт IterableFactoryDefaults[Char, IndexedSeq]
Тракт IterableOps[Char, IndexedSeq, WrappedString]
Тракт IterableOnceOps[Char, IndexedSeq, WrappedString]
Тракт IterableOnce[Char]
Класс Object
Тракт Matchable
Класс Any

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

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

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

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

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

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

объединяемая последовательность.

Возвращает

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

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

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

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

Исходный код
override def copyToArray[B >: Char](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

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

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

Возвращает

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

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

Исходный код
override def endsWith[B >: Char](that: Iterable[B]): Boolean

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

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

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

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

Возвращает

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

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

Исходный код
override def equals(other: Any): Boolean

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

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

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

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

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

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

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

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

from

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

Возвращает

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

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

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

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

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

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

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

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

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

end

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

Возвращает

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

Определяющие классы SeqOps

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

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

Определяющие классы SeqOps

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

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

Определяющие классы IndexedSeq -> SeqOps

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

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

from <= indexOf(x) < until
Параметры значения
from

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

until

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

Возвращает

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

Определяющие классы IndexedSeqOps -> IndexedSeqOps -> IterableOps -> IterableOnceOps

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

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

Определяющие классы IndexedSeqOps -> IterableOnce

Исходный код
override def toString: String

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

Стандартное представление зависит от платформы.

Возвращает

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

Определяющие классы Seq -> Function1 -> Iterable -> Any

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

Неявно добавлен UnwrapOp

Исходный код
override def view: StringView

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

Определяющие классы IndexedSeqOps -> SeqOps -> IterableOps

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

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код
final def addString(b: StringBuilder): StringBuilder

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

Пример:

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

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

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

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

Возвращает

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

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

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

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

Пример:

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

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

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

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

sep

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

Возвращает

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

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

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

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

Пример:

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

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

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

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

end

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

sep

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

start

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

Возвращает

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

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

Источник
def andThen[C](k: PartialFunction[Char, C]): PartialFunction[A, C]

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

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

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

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

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

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

Возвращает

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

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

Источник
override def andThen[C](k: Char => C): PartialFunction[A, C]

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

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

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

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

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

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

Возвращает

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

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

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

Унаследовано от 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

Исходный код
override def canEqual(that: Any): Boolean

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

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

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

Возвращает

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

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

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

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

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

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

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

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

объект для добавления.

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

Источник
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 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 exists(p: Char => Boolean): Boolean

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Исходный код
def fold[A1 >: Char](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Исходный код
def foldLeft[B](z: B)(op: (B, 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: (Char, B) => B): B

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
def forall(p: Char => Boolean): Boolean

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

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

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

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

Возвращает

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

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

Source
def foreach[U](f: Char => U): Unit

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

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

Source
def groupBy[K](f: Char => K): Map[K, C]

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

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

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

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

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

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

Возвращает

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

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

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

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

Source
def groupMap[K, B](key: Char => K)(f: Char => B): Map[K, CC[B]]

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

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

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

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

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

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

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

K

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

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

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

key

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

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

Source
def groupMapReduce[K, B](key: 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

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

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

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

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

Возвращает

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

См. также

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

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

Source
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

Source
override def head: A

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

Возвращает

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

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

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

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

Source
override def headOption: Option[A]

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

Возвращает

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

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

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

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

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

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

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

значение искомого элемента.

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
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 isEmpty: Boolean

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

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

Возвращает

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

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

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

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

Возвращает

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 knownSize: Int

Возвращает

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

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

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

that

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

Возвращает

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

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

Source
def lastIndexWhere(p: Char => Boolean): Int

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

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

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

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

Возвращает

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

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

Source
def lastIndexWhere(p: Char => Boolean, end: Int): Int

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

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

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

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

Возвращает

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

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

Source
def lastOption: Option[A]

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
final def mkString: String

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

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

Возвращает

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

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

Source
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

Параметры
end

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

sep

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

start

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

Возвращает

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

Пример

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

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

Source
def nonEmpty: Boolean

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

Возвращает

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

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

Source
def orElse[A1 <: Int, B1 >: Char](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

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

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

B1

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

Параметры
that

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

Возвращает

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

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

Source
def padTo[B >: Char](len: Int, elem: B): CC[B]

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

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

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

Параметры
elem

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

len

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

Возвращает

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

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

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

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

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

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

Source
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

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

Возвращает

значение Option, содержащее результат 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: Символ => 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 scan[B >: Символ](z: B)(op: (B, B) => B): CC[B]

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

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

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

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

Параметры
op

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

z

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

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

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

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

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

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

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

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

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

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

Параметры
op

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

z

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

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

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

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

Источник
def scanRight[B](z: B)(op: (Символ, 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 >: Символ](elem: B, from: Целое число, to: Целое число)(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 >: Символ](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: Символ => Boolean, from: Целое число): Целое число

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

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

Параметры
from

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

p

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

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

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

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

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

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

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

Параметры
p

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

См. также

sizeIs

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

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

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

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

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

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

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

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

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

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

step

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

Возвращает

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

См. также

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

Пример

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

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

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

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

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

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

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

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

Возвращает

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

См. также

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

Пример

List().sliding(2) = empty iterator

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

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

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

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

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

Source
def span(p: Char => Boolean): (C, C)

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

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

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

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

предикат проверки

Возвращает

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

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

Source
override def splitAt(n: Int): (C, C)

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def tail: C

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

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

Source
def tails: Iterator[C]

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

Возвращает

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

Пример

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

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

Source
override def take(n: Int): C

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

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

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

Возвращает

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

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

Source
override def takeRight(n: Int): C

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

Source
final override def toIndexedSeq: IndexedSeq[A]

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

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

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

Источник
def toMap[K, V](implicit ev: Символ <:< (K, V)): Карта[K, V]

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

Источник
final override def toSeq: Последовательность.this.type

Возвращает

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

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

Источник
def toSet[B >: Символ]: Множество[B]

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

Источник
def toVector: Вектор[A]

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

Источник
def transpose[B](implicit asIterable: Символ => Перечислимый[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: Целое число): Опция[B]

Попытка извлечь B из A в выражении сопоставления с образцом.

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

Источник
def unzip[A1, A2](implicit asPair: Символ => (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: Символ => (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 >: Символ](index: Целое число, elem: B): CC[B]

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

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

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

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

заменяющий элемент

index

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

Возвращает

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

Исключения
IndexOutOfBoundsException

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

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

Источник
def withFilter(p: Символ => Булево): 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 >: Символ, B](that: Перечислимый[B], thisElem: A1, thatElem: B): CC[(A1, B)]

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

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

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

thatElem

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

thisElem

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

Возвращает

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

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

Источник
def zipWithIndex: CC[(A, Int)]

Объединяет эту итерируемую коллекцию с её индексами.

Возвращает

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

Пример

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

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

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

Spec-Zone.ru

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