Spec-Zone.ru › Scala 3.2

Класс ArraySeq.ofChar

Исходный код

final class ofChar(val array: Массив[Символ]) extends ArraySeq[Символ]

Наследники
29 типов
класс ArraySeq[Символ]
интерфейс Serializable
интерфейс StrictOptimizedSeqOps[Символ, ArraySeq, ArraySeq[Символ]]
интерфейс StrictOptimizedIterableOps[Символ, ArraySeq, ArraySeq[Символ]]
интерфейс IndexedSeq[Символ]
интерфейс IndexedSeqOps[Символ, ArraySeq, ArraySeq[Символ]]
интерфейс IndexedSeq[Символ]
интерфейс IndexedSeqOps[Символ, ArraySeq, ArraySeq[Символ]]
класс AbstractSeq[Символ]
интерфейс Seq[Символ]
интерфейс SeqOps[Символ, ArraySeq, ArraySeq[Символ]]
интерфейс Cloneable[ArraySeq[Символ]]
интерфейс Cloneable
интерфейс Iterable[Символ]
класс AbstractSeq[Символ]
интерфейс Seq[Символ]
интерфейс Equals
интерфейс SeqOps[Символ, ArraySeq, ArraySeq[Символ]]
интерфейс PartialFunction[Целое число, Символ]
интерфейс Целое число => Символ
класс AbstractIterable[Символ]
интерфейс Iterable[Символ]
интерфейс IterableFactoryDefaults[Символ, IndexedSeq]
интерфейс IterableOps[Символ, ArraySeq, ArraySeq[Символ]]
интерфейс IterableOnceOps[Символ, ArraySeq, ArraySeq[Символ]]
интерфейс IterableOnce[Символ]
класс Объект
интерфейс Matchable
класс Любой

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

Исходный код
override def addString(sb: StringBuilder, start: Строка, sep: Строка, end: Строка): StringBuilder

Добавляет все элементы этого обернутого массива в 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

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

end

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

sep

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

start

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

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

StringBuilder b в который были добавлены элементы.

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

Исходный код
def apply(index: Целое число): Символ

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

Исходный код
def elemTag: ClassTag[_]

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

Исходный код
override def equals(that: Любой): Булево

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

Определяющие классы ArraySeq -> Seq -> Equals -> Любой

Исходный код
override def hashCode: Целое число

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

Алгоритм хэширования по умолчанию зависит от платформы.

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

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

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

Определяющие классы Seq -> Любой

Исходный код
override def iterator: Итератор[Символ]

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

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

Исходный код
def length: Целое число

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

Исходный код
override def stepper[S <: Штрихкод[_]](implicit shape: StepperShape[Символ, 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. Для степеров, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные степеры могут быть преобразованы только в последовательные потоки.

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

Исходный код
def update(index: Int, elem: Char): Unit

Обновить элемент по заданному индексу

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

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

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

Унаследовано из SeqOps

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

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

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

Унаследовано из SeqOps

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

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

Унаследовано из SeqOps

Исходный код
final def addString(b: StringBuilder): 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

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

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

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

Унаследовано из IterableOnceOps

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

Добавляет все элементы этой коллекции в 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

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

sep

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

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

StringBuilder 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

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

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

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

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

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

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

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

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

Возвращает

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

Определяющие классы StrictOptimizedSeqOps -> SeqOps
Наследуется от StrictOptimizedSeqOps

Источник
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, которая может быть переопределена в подклассе. См. Programming in Scala, Chapter 28 для обсуждения и проектирования.

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

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

Возвращает

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

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

Источник
override def clone(): ArraySeq[T]

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

Определяющие классы ArraySeq -> SeqOps -> Cloneable -> Object
Наследуется от ArraySeq

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

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

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

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

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

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

Возвращает

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

Определяющие классы StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Наследуется от StrictOptimizedIterableOps

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

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

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

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

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

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

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

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

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

start

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

xs

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

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

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

Примечание

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

Остальная часть коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно избегать создания копии.

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

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

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

Источник
override def empty: ArraySeq[T]

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override 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, к каждому элементу этой итерируемой коллекции и конкатенации результатов.

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

Источник
override def flatten[B](implicit toIterableOnce: 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.

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Источник
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 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 от 0 до значения на единицу меньше длины этой последовательности.

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

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

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

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

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

Исходный код
def inits: Итератор[C]

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

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

Возвращает

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

Пример

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

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

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

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

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

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

Возвращает

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

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

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

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

Примечание

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

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

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

Возвращает

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

Классы определения IndexedSeqOps -> IterableOnce
Унаследовано от 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

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

Source
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

Source
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

Source
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

Source
def lift: A => Option[B]

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

Возвращает

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

См. также

Function.unlift

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

Source
override def map[B](f: Char => B): CC[B]

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

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

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

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

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

Возвращает

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

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

Source
def mapInPlace(f: Char => Char): IndexedSeqOps.this.type

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

значение типа option, содержащее наибольший элемент этой коллекции относительно упорядочения 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

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

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

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

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

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

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

len

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

Возвращает

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

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

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

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

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

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

Source
override 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.

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

Source
def patch[B >: Char](from: Int, other: IterableOnce[B], replaced: Int): CC[B]

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

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

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

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

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

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

other

заменяющая последовательность

replaced

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

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

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

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

Source
def permutations: Iterator[C]

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

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

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

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

Пример

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

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

Source
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 и всех элементов этой последовательности.

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

значение типа Option, содержащее результат применения оператора 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

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

Возвращает

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

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

Source
override def reverse: C

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

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

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

Возвращает

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

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

Source
override def reverseIterator: Iterator[A]

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

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

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

Возвращает

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

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

Source
override protected def reversed: Iterable[A]

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

Source
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

Source
def sameElements[B >: Char](that: IterableOnce[B]): Boolean

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
override def scanLeft[B](z: B)(op: (B, Char) => B): CC[B]

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
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

Source
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

Source
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

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

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

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

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

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

until

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

Возвращает

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

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

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

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

Source
override def sortInPlace[B >: Char]()(implicit ord: Ordering[B]): ArraySeq.this.type

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

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

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

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

изменённый входной обернутый массив, отсортированный в соответствии с порядком ord.

См. также

scala.collection.SeqOps.sorted

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

Source
def sortInPlaceBy[B](f: Char => B)(implicit ord: Ordering[B]): IndexedSeqOps.this.type

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

См. также

scala.collection.SeqOps.sortBy

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

Source
def sortInPlaceWith(lt: (Char, Char) => Boolean): IndexedSeqOps.this.type

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

См. также

scala.collection.SeqOps.sortWith

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

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

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

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

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

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

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

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

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

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

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

Source
override def sorted[B >: Char](implicit ord: Ordering[B]): ArraySeq[T]

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

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

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

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

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

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

См. также

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
def startsWith[B >: Char](that: IterableOnce[B], offset: Int): Boolean

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

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

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

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

that

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

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

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

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

Source
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 элементы этой коллекции.

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
override def tapEach[U](f: Char => U): C

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

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

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

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

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

Возвращает

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

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

Исходный код
def to[C1](factory: Factory[Char, C1]): C1

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

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

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

Исходный код
def toArray[B >: Char : ClassTag]: Array[B]

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def toVector: Vector[A]

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

Источник
def transpose[B](implicit asIterable: Символ => 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: Целое): Вариант[B]

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

Источник
def updated[B >: Символ](index: Целое, 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: Символ => Булево): WithFilter[A, CC]

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

Примечание: разница между c filter p и c withFilter p в том, что первый создаёт новое множество, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.

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

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

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

Возвращает

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого итерируемого множества, которые удовлетворяют предикату p.

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def zipAll[A1 >: Символ, B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

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

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

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

thatElem

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

thisElem

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

Возвращает

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

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

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

Комбинирует этот итерируемый набор со своими индексами.

Возвращает

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

Пример

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

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

Конкретные поля

Источник
val array: Array[Char]

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

© 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/ArraySeq$$ofChar.html

Spec-Zone.ru

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