Spec-Zone.ru › Scala 3.2

Класс ArraySeq.ofByte

Исходный код

final class ofByte(val unsafeArray: Array[Byte]) extends ArraySeq[Byte]

Наследование
29 типов
Класс ArraySeq[Byte]
Интерфейс Serializable
Интерфейс EvidenceIterableFactoryDefaults[Byte, ArraySeq, ClassTag]
Интерфейс StrictOptimizedSeqOps[Byte, ArraySeq, ArraySeq[Byte]]
Интерфейс StrictOptimizedSeqOps[Byte, ArraySeq, ArraySeq[Byte]]
Интерфейс StrictOptimizedIterableOps[Byte, ArraySeq, ArraySeq[Byte]]
Интерфейс IndexedSeq[Byte]
Интерфейс IndexedSeqOps[Byte, ArraySeq, ArraySeq[Byte]]
Интерфейс IndexedSeq[Byte]
Интерфейс IndexedSeqOps[Byte, ArraySeq, ArraySeq[Byte]]
Класс AbstractSeq[Byte]
Интерфейс Seq[Byte]
Интерфейс SeqOps[Byte, ArraySeq, ArraySeq[Byte]]
Интерфейс Iterable[Byte]
Класс AbstractSeq[Byte]
Интерфейс Seq[Byte]
Интерфейс Equals
Интерфейс SeqOps[Byte, ArraySeq, ArraySeq[Byte]]
Интерфейс PartialFunction[Int, Byte]
Интерфейс Int => Byte
Класс AbstractIterable[Byte]
Интерфейс Iterable[Byte]
Интерфейс IterableFactoryDefaults[Byte, IndexedSeq]
Интерфейс IterableOps[Byte, ArraySeq, ArraySeq[Byte]]
Интерфейс IterableOnceOps[Byte, ArraySeq, ArraySeq[Byte]]
Интерфейс IterableOnce[Byte]
Класс Object
Интерфейс Matchable
Класс Any

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

Исходный код
override def appended[B >: Byte](elem: B): ArraySeq[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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код
override def prepended[B >: Byte](elem: B): ArraySeq[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 за которым следуют все элементы этого неизменяемого массива.

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

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

Сортировка этого неизменяемого массива в соответствии с Ordering.

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

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

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

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

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

См. также

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

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

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

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

Исходный код
override def updated[B >: Байт](index: Целое число, elem: B): ArraySeq[B]

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

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

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

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

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

index

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

Возвращает

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

Исключения
IndexOutOfBoundsException

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример:

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

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

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

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

Возвращает

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

Наследованный от IterableOnceOps

Исходный код
final def addString(b: StringBuilder, sep: Строка): StringBuilder

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

Пример:

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

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

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

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

sep

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

Возвращает

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

Наследованный от IterableOnceOps

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

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

Пример:

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

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

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

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

end

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

sep

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

start

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

Возвращает

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

Наследованный от IterableOnceOps

Исходный код
def andThen[C](k: PartialFunction[Байт, C]): PartialFunction[A, C]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def appendedAll[B >: Byte](suffix: IterableOnce[B]): ArraySeq[B]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

функция по умолчанию

x

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def collectFirst[B](pf: PartialFunction[Byte, 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 >: Байт](suffix: IterableOnce[B]): CC[B]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
override def copyToArray[B >: Байт](xs: Массив[B], start: Целое, len: Целое): Целое

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

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

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

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

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

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

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

start

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

xs

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

xs

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

that

другой набор

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

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

Источник
def count(p: Байт => Булево): Целое

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def drop(n: Целое): ArraySeq[A]

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

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

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

Возвращает

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

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

Источник
override def dropRight(n: Целое): ArraySeq[A]

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

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

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

Источник
def dropWhile(p: Байт => Булево): 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: CC[A]

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

Возвращает

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

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

Источник
def endsWith[B >: Байт](that: Iterable[B]): Булево

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

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

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

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

Возвращает

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

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

Источник
def exists(p: Байт => Булево): Булево

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

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

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

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

Возвращает

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

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

Source
override def filter(pred: Byte => Boolean): C

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

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

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

Возвращает

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

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

Source
override def filterNot(pred: Byte => Boolean): C

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

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

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

Возвращает

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

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

Source
def find(p: Byte => Boolean): Option[A]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
override def flatMap[B](f: Byte => 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: Byte => 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 >: Byte](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

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

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

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

Исходный код
override def foldLeft[B](z: B)(f: (B, Byte) => B): B

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

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

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

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

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

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

z

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

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

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

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

Исходный код
override def foldRight[B](z: B)(f: (Byte, B) => B): B

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

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

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

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

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

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

z

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код
def foreach[U](f: Byte => U): Unit

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

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

Исходный код
override protected def fromSpecific(coll: IterableOnce[Byte]): CC[A]

Определяет, как преобразовать заданную Iterable[A] в коллекцию типа C.

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

Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа этот метод необходимо переопределить (в противном случае компилятор выдаст ошибку). В общем случае, когда C =:= CC[A], это можно сделать, смешав в себе trait scala.collection.IterableFactoryDefaults, который реализует метод, используя iterableFactory.

Как показывает аннотация @uncheckedVariance, использование этого метода может быть небезопасным. Однако, поскольку он вызывается с Iterable[A] , полученным из this коллекции (как это происходит в реализациях операций, где мы используем View[A]), он безопасен.

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

Исходный код
def groupBy[K](f: Byte => 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: Byte => K)(f: Byte => 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: Byte => K)(f: Byte => 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 >: Byte](elem: B): Int

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

from

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

p

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

Возвращает

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

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

Исходный код
def indices: Range

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

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

Возвращает

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

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

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

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

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

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

Источник
def inits: Iterator[C]

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

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

Возвращает

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

Пример

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

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

Источник
override def intersect[B >: Byte](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

Проверяет, может ли эта итерируемая коллекция быть пройдена многократно. Всегда true для Iterable и false для 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 >: Byte](elem: B, end: Int): Int

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

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

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

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

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

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

end

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

Возвращает

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

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

Источник
def lastIndexOfSlice[B >: Byte](that: Seq[B]): Int

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

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

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

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

Возвращает

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

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

Источник
def lastIndexOfSlice[B >: Byte](that: Seq[B], end: Int): Int

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

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

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

индекс конца

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, Iterable]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

См. также

lengthIs

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

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

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

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

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

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

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

Возвращает

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

См. также

Function.unlift

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

Исходный код
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

Исходный код
final def mkString(start: String, sep: String, end: String): String

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Исходный код
override protected def newSpecificBuilder: Builder[A, CC[A]]

Возвращает

строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализация этого метода возможна, но полученный Builder нарушит ленивость. Вследствие этого операции предпочтительно реализовывать с fromSpecific вместо этого метода.

Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа, этот метод необходимо переопределить (в противном случае компилятор выдаст ошибку). В общем случае, когда C =:= CC[A], это можно сделать, добавив в миксин scala.collection.IterableFactoryDefaults , который реализует этот метод с помощью iterableFactory.

Как показывает аннотация @uncheckedVariance, использование этого метода может быть некорректным. Тем не менее, до тех пор, пока возвращаемый билдер получает только A значения, взятые из экземпляра this, он безопасен.

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

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

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

Возвращает

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

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

Исходный код
def orElse[A1 <: Int, B1 >: Byte](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

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

тип аргумента функции-замены

B1

тип результата функции-замены

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

функция-замена

Возвращает

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

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

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

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

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

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

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

значение отступа

len

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

Возвращает

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

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

Источник
override def partition(p: Byte => Boolean): (C, C)

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

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

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

Источник
override def partitionMap[A1, A2](f: Byte => 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

Источник
override def patch[B >: Byte](from: Int, other: IterableOnce[B], replaced: Int): CC[B]

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

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

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

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

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

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

other

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

replaced

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

Возвращает

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

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

Источник
def permutations: Iterator[C]

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def product[B >: Byte](implicit num: Numeric[B]): B

Перемножает элементы этой коллекции.

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Источник
def reduceLeftOption[B >: Byte](op: (B, Byte) => B): Option[B]

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def reduceOption[B >: Byte](op: (B, B) => B): Option[B]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Источник
def reduceRightOption[B >: Byte](op: (Byte, B) => B): Option[B]

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def reverse: ArraySeq[A]

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

Источник
override protected def reversed: Iterable[A]

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

Источник
def runWith[U](action: Byte => 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

Источник
override def sameElements[B >: Byte](o: IterableOnce[B]): Boolean

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Источник
override def scanLeft[B](z: B)(op: (B, Byte) => B): CC[B]

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Параметры типа
B

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

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

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

z

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

Возвращает

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

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

Источник
override def search[B >: Byte](elem: B, from: Int, to: Int)(implicit ord: Ordering[B]): SearchResult

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

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

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

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

from

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

ord

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

to

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

Возвращает

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

См. также

scala.collection.IndexedSeq

scala.math.Ordering

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

Примечание

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

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

Источник
override def search[B >: Byte](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: Byte => Boolean, from: Int): Int

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

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

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

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

p

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

Возвращает

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

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

Источник
final def segmentLength(p: Byte => 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

Source
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

Source
final def sizeIs: SizeCompareOps

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

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

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

Source
override def slice(from: Int, until: Int): ArraySeq[A]

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

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

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

until

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

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

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

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

Source
def sliding(size: Int, step: Int): Iterator[C]

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

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

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

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

step

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

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

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

См. также

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

Пример

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

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

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

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

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

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

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

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

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

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

См. также

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

Пример

List().sliding(2) = empty iterator

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

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

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

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

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

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

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

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

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

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

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

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

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

ord

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

Возвращает

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

См. также

scala.math.Ordering

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
override def span(p: Byte => 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

Источник
def startsWith[B >: Байт](that: IterableOnce[B], offset: Целое число): Булево

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

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

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

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

that

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

Возвращает

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

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

Источник
def sum[B >: Байт](implicit num: Числовой[B]): B

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

Примечание: не будет завершаться для коллекций бесконечного размера.

Параметры типа
B

тип результата оператора +.

Параметры значения
num

явный параметр, определяющий набор числовых операций, включающий оператор +, который используется для формирования суммы.

Возвращает

сумма всех элементов этой коллекции по отношению к оператору + в num.

Унаследовано от IterableOnceOps

Источник
override def tail: ArraySeq[A]

Остальная часть коллекции без её первого элемента.

Определяющие классы ArraySeq -> IterableOps
Унаследовано от ArraySeq

Источник
def tails: Итератор[C]

Итерируется по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результаты последовательных применений tail.

Возвращает

итератор по всем хвостам этой итерируемой коллекции

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

Унаследовано от IterableOps

Источник
override def take(n: Целое число): ArraySeq[A]

Выбирает первые n элементов.

Параметры значения
n

количество элементов для взятия из этого неизменяемого массива.

Возвращает

неизменяемый массив, содержащий только первые n элементов этого неизменяемого массива, или весь неизменяемый массив, если он содержит меньше, чем n элементов. Если n отрицательно, возвращает пустой неизменяемый массив.

Определяющие классы ArraySeq -> IndexedSeqOps -> IterableOps -> IterableOnceOps
Унаследовано от ArraySeq

Источник
override def takeRight(n: Целое число): ArraySeq[A]

Коллекция, содержащая последние n элементов этой коллекции.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.

Определяющие классы ArraySeq -> StrictOptimizedIterableOps -> IndexedSeqOps -> IterableOps
Унаследовано от ArraySeq

Источник
def takeWhile(p: Байт => Булево): C

Взятие самого длинного префикса элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.

Параметры значения
p

Предикат для проверки элементов.

Возвращает

самый длинный префикс этой итерируемой коллекции, элементы которой удовлетворяют предикату p.

Унаследовано от IterableOps

Источник
override def tapEach[U](f: Байт => U): C

Применение функции побочного эффекта к каждому элементу в этой коллекции. Строгие коллекции немедленно применяют f к своим элементам, в то время как ленивые коллекции, такие как представления и LazyLists, применяют f к каждому элементу только тогда, когда этот элемент оценивается, и каждый раз, когда этот элемент оценивается.

Параметры типа
U

тип возвращаемого значения f

Параметры значения
f

функция для применения к каждому элементу в этой итерируемой коллекции

Возвращает

такая же логическая коллекция, как эта

Определяющие классы StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
def to[C1](factory: Фабрика[Байт, C1]): C1

При заданной фабрике коллекции factory, преобразуйте эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:

xs.to(Список) xs.to(Буфер массива) xs.to(Множество бит) // для xs: Iterable[Целое число]

Унаследовано от IterableOnceOps

Источник
def toArray[B >: Байт : ClassTag]: Массив[B]

Преобразование коллекции в массив.

Примечание реализации: НЕ вызывайте Array.from из этого метода.

Унаследовано от IterableOnceOps

Источник
final def toBuffer[B >: Байт]: Буфер[B]

Унаследовано от IterableOnceOps

Источник
final override def toIndexedSeq: IndexedSeq[A]

Определяющие классы IndexedSeq -> IterableOnceOps
Унаследовано от IndexedSeq

Source
def toList: List[A]

Inherited from IterableOnceOps

Source
def toMap[K, V](implicit ev: Байт <:< (K, V)): Map[K, V]

Inherited from IterableOnceOps

Source
final override def toSeq: Seq.this.type

Returns

Этот набор как Seq[A]. Это эквивалентно to(Seq) , но может быть быстрее.

Definition Classes Seq -> IterableOnceOps
Inherited from Seq

Source
def toSet[B >: Байт]: Set[B]

Inherited from IterableOnceOps

Source
override def toString(): String

Возвращает строковое представление объекта.

По умолчанию представление зависит от платформы.

Returns

строковое представление объекта.

Definition Classes Seq -> Function1 -> Iterable -> Any
Inherited from Seq

Source
def toVector: Vector[A]

Inherited from IterableOnceOps

Source
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))

Примечание: Даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.

Type parameters
B

тип элементов каждого итерируемого множества.

Value parameters
asIterable

явное преобразование, которое утверждает, что тип элемента этого итерируемого множества является Iterable.

Returns

двумерное итерируемое множество итерируемых множеств, в котором n-я строка является n-м столбцом этого итерируемого множества.

Throws
IllegalArgumentException

если все множества в этом итерируемом множестве не имеют одинаковый размер.

Inherited from IterableOps

Source
def unapply(a: Int): Option[B]

Пытается извлечь B из A в выражении сопоставления с образцом.

Inherited from PartialFunction

Source
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))
Type parameters
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

Value parameters
asPair

явное преобразование, которое утверждает, что тип элемента этого итерируемого множества является парой.

Returns

пара итерируемых множеств, содержащая первую и соответственно вторую половину каждой пары элементов этого итерируемого множества.

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
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))
Type parameters
A1

тип первого члена троек элементов

A2

тип второго члена троек элементов

A3

тип третьего члена троек элементов

Value parameters
asTriple

явное преобразование, которое утверждает, что тип элемента этого итерируемого множества является тройкой.

Returns

тройка итерируемых множеств, содержащая первый, второй и соответственно третий член каждой тройки элементов этого итерируемого множества.

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
override def view: IndexedSeqView[A]

Представление элементов этого набора.

Definition Classes IndexedSeqOps -> SeqOps -> IterableOps
Inherited from IndexedSeqOps

Source
def withFilter(p: Байт => Boolean): WithFilter[A, CC]

Создает нестрогий фильтр этого итерируемого набора.

Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новый набор, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.

Примечание: результаты могут отличаться при разных запусках, если только тип базового набора не является упорядоченным.

Value parameters
p

предикат, используемый для проверки элементов.

Returns

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого итерируемого множества, которые удовлетворяют предикату p.

Inherited from IterableOps

Source
override def zip[B](that: IterableOnce[B]): ArraySeq[(A, B)]

Возвращает неизменяемый массив, образованный из этого неизменяемого массива и другого итерируемого набора путем объединения соответствующих элементов парами. Если один из двух наборов длиннее другого, оставшиеся элементы игнорируются.

Тип параметров
B

тип второй половины возвращаемых пар

Параметры значения
that

Итерируемый объект, предоставляющий вторую половину каждой пары результатов

Возвращает

новый неизменяемый массив, содержащий пары, состоящие из соответствующих элементов этого неизменяемого массива и that. Длина возвращаемого набора равна минимуму длин этого неизменяемого массива и that.

Определяющие классы ArraySeq -> StrictOptimizedIterableOps -> IterableOps
Унаследовано от ArraySeq

Источник
def zipAll[A1 >: Byte, 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 unsafeArray: Array[Byte]

Обёрнутый мутабельный Array , который поддерживает этот ArraySeq. Любые изменения в этом массиве нарушат ожидаемую неизменяемость. Его тип элемента не обязательно должен быть равен типу элемента этого 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/immutable/ArraySeq$$ofByte.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API