Spec-Zone.ru › Scala 3.2

Класс ArraySeq.ofShort

Исходный код

final class ofShort(val unsafeArray: Array[Short]) extends ArraySeq[Short]

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

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

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

Получение элемента по указанному индексу. Эта операция предоставляется для удобства в 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[Short]

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

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

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

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

Исходный код
override def prepended[B >: Short](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 >: Short](implicit ord: Ordering[B]): ArraySeq[Short]

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

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

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

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

Возвращает

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

См. также

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

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

Источник
override def stepper[S <: Stepper[_]](implicit shape: StepperShape[Short, 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 >: Short](index: Int, elem: B): ArraySeq[B]

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

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

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

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

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

index

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

Возвращает

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

Исключения
IndexOutOfBoundsException

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

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

Методы-наследники

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

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

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

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

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

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

Источник
final def +:[B >: Short](elem: B): CC[B]

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

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

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

Источник
final def :+[B >: Short](elem: B): CC[B]

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

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

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

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

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

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

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

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

Пример:

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

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

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

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

Возвращает

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

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

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

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

Пример:

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

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

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

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

sep

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

Возвращает

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

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

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

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

Пример:

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

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

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

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

end

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

sep

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

start

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def applyOrElse[A1 <: Int, B1 >: Short](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[Short, B]): CC[B]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

Источник
def contains[A1 >: Short](elem: A1): Boolean

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

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

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

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

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

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

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

Источник
def containsSlice[B >: Short](that: Seq[B]): Boolean

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

END_OF_DOCUMENT_MARKER

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Источник
override def empty: CC[A]

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
override def flatMap[B](f: Short => 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: Short => IterableOnce[B]): CC[B]

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

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

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

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

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

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

Возвращает

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

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

Источник
def fold[A1 >: Short](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, Short) => 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: (Short, 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: Short => Boolean): Boolean

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

from

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def indexWhere(p: Short => 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 >: Short](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

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

Возвращает

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 >: Short](elem: B, end: Int): Int

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

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

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

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

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

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

end

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

индекс конца

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def lastIndexWhere(p: Short => 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: Short => B): ArraySeq[B]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

Значения параметров
cmp

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

Значения параметров
cmp

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

f

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

Возвращает

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

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

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

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

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

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

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

Значения параметров
ord

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

Возвращает

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

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

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

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

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

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

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

Значения параметров
ord

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
final def mkString: String

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

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

Возвращает

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

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

Source
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Source
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

Source
def nonEmpty: Boolean

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

Возвращает

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

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

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

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

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

тип аргумента функции-обработчика исключений

B1

тип результата функции-обработчика исключений

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

функция-обработчик исключений

Возвращает

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

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

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

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

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

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

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

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

len

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def product[B >: Short](implicit num: Numeric[B]): B

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

бинарная операция.

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

Возможная применимость бинарной операции ко всем элементам этого набора слева направо.

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

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

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

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

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

бинарная операция.

Возвращает

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

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

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

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

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

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

параметр типа для бинарной операции, сверхтип A.

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

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

Возвращает

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

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

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

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

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

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

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

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

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

бинарная операция.

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

Возможная применимость бинарной операции ко всем элементам этого набора справа налево.

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

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

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

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

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

бинарная операция.

Возвращает

значение опции, содержащее результат 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: Short => 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 >: Short](o: IterableOnce[B]): Boolean

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

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

Исходный код
def scan[B >: Short](z: B)(op: (B, B) => B): CC[B]

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

p

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

Возвращает

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

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

Источник
final def segmentLength(p: Short => Boolean): Int

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

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

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

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

Возвращает

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

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

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

Размер этого набора.

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

Возвращает

количество элементов в этом наборе.

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

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

Сравнивает размер этого набора с размером другого набора.

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

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

Возвращает

Значение 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: Short => 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: (Short, Short) => Boolean): C

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

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

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

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

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

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

Возвращает

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

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

Source
override def span(p: Short => 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 >: Short](that: IterableOnce[B], offset: Int): Boolean

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

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

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

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

that

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

Возвращает

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

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

Источник
def sum[B >: Short](implicit num: Numeric[B]): B

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

Источник
override def take(n: Int): ArraySeq[A]

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

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

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

Возвращает

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

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

Источник
override def takeRight(n: Int): ArraySeq[A]

Коллекция, содержащая последние n элементы этой коллекции.

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def tapEach[U](f: Short => U): C

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

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

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

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

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

Возвращает

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

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

Источник
def to[C1](factory: Factory[Short, C1]): C1

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

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

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

Источник
def toArray[B >: Short : ClassTag]: Array[B]

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

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

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

Источник
final def toBuffer[B >: Short]: Buffer[B]

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

Источник
final override def toIndexedSeq: IndexedSeq[A]

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

Исходный код
def toList: Список[A]

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

Исходный код
def toMap[K, V](implicit ev: Short <:< (K, V)): Карта[K, V]

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

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

Возвращает

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

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

Исходный код
def toSet[B >: Short]: Множество[B]

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

Исходный код
override def toString(): Строка

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

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

Возвращает

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

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

Исходный код
def toVector: Вектор[A]

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

Исходный код
def transpose[B](implicit asIterable: Short => Iterable[B]): CC[CC[B]]

Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.

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

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

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

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

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

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

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

Возвращает

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

Исключения
IllegalArgumentException

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

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

Исходный код
def unapply(a: Целое число): Некоторые[B]

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

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

Исходный код
override def unzip[A1, A2](implicit asPair: Short => (A1, A2)): (CC[A1], CC[A2])

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

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

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

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

Возвращает

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

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

Исходный код
override def unzip3[A1, A2, A3](implicit asTriple: Short => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])

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

val xs = Iterable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three),
//        Iterable(1, 2, 3))
Параметры типа
A1

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

A2

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

A3

тип третьего члена троек элементов

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

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

Возвращает

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

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

Исходный код
override def view: IndexedSeqView[A]

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

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

Исходный код
def withFilter(p: Short => Boolean): WithFilter[A, CC]

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

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

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

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

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

Возвращает

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

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

Исходный код
override def zip[B](that: IterableOnce[B]): ArraySeq[(A, B)]

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

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

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

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

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

Возвращает

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

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

Исходный код
def zipAll[A1 >: Short, 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[Short]

Оборачиваемый изменяемый 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$$ofShort.html

Spec-Zone.ru

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