Spec-Zone.ru › Scala 3.2

Класс ArraySeq.ofFloat

Исходный код

final class ofFloat(val unsafeArray: Array[Float]) extends ArraySeq[Float]

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

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

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

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

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

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

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

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

Исходный код
override def prepended[B >: Float](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 stepper[S <: Stepper[_]](implicit shape: StepperShape[Float, S]): S & EfficientSplit

Возвращает scala.collection.Stepper для элементов этой коллекции.

Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может быть использован как итератор, который не упаковывает элементы.

Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элемента этой коллекции.

END_OF_DOCUMENT_MARKER
  • Для коллекций Int, Short, Byte или Char, возвращается scala.collection.IntStepper

  • Для коллекций Double или Float, возвращается scala.collection.DoubleStepper

  • Для коллекций Long возвращается scala.collection.LongStepper

  • Для всех других типов элементов возвращается scala.collection.AnyStepper

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

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

Источник
override def updated[B >: Float](index: Int, elem: B): ArraySeq[B]

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

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

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

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

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

index

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

Возвращает

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

Исключения
IndexOutOfBoundsException

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
final def :++[B >: Float](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[Float, C]): PartialFunction[A, C]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

наследуемый итерируемый набор.

Возвращает

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

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

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

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

Обратите внимание, что выражение 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

функция fallback

x

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

Возвращает

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

Унаследовано от 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[Float, B]): CC[B]

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

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

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

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

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

Возвращает

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

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

Источник
def collectFirst[B](pf: PartialFunction[Float, 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". Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран — это реализационный detail, который не определён.

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

Возвращает

Итератор, который перебирает возможные 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.

END_OF_DOCUMENT_MARKER
Тип параметров
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 >: Float](suffix: IterableOnce[B]): CC[B]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

that

другой набор

Возвращает

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

Исходный код
override def distinctBy[B](f: Float => 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 последних элементов. Для линейных неизменяемых коллекций это должно избегать создания копии.

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

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

Исходный код
def dropWhile(p: Float => 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 >: Float](that: Iterable[B]): Boolean

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
override def filter(pred: Float => Boolean): C

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

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

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

Возвращает

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

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

Исходный код
override def filterNot(pred: Float => Boolean): C

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def flatMap[B](f: Float => 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: Float => IterableOnce[B]): CC[B]

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Source
override protected def fromSpecific(coll: IterableOnce[Float]): CC[A]

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

K

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

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

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

key

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

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

Source
def groupMapReduce[K, B](key: Float => K)(f: Float => B)(reduce: (B, B) => B): Map[K, B]

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

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

def occurrences[A](as: Seq[A]): Map[A, Int] =
  as.groupMapReduce(identity)(_ => 1)(_ + _)

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

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

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

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

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

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

Возвращает

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

См. также

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

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

Source
override def head: A

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Source
override def headOption: Option[A]

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def indexOf[B >: Float](elem: B, from: Int): Int

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

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

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

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

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

from

стартовый индекс

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def indexWhere(p: Float => 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 >: Float](that: Seq[B]): C

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

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

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

Возвращает

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

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

Исходный код
def isDefinedAt(idx: Int): Boolean

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

Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

end

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

индекс конца

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
def lastOption: Option[A]

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
final override def lengthCompare(that: Iterable[_]): Int

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

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

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

Возвращает

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

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

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

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

Source
final override def lengthCompare(len: Int): Int

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

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

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

Возвращает

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

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

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

См. также

lengthIs

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

Source
final def lengthIs: SizeCompareOps

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

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

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

Source
def lift: A => Option[B]

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

Возвращает

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

См. также

Function.unlift

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

Source
override def map[B](f: Float => B): ArraySeq[B]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

END_OF_DOCUMENT_MARKER

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
final def mkString: String

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

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

Возвращает

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

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

Source
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Source
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 >: Float](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

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

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

B1

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

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

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

Возвращает

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

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

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

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

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

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

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

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

len

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

Возвращает

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

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

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

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

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

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

Source
override def partitionMap[A1, A2](f: Float => 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 >: Float](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 >: Float](prefix: IterableOnce[B]): ArraySeq[B]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def reduceRight[B >: Float](op: (Float, B) => B): B

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def reduceRightOption[B >: Float](op: (Float, B) => B): Option[B]

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

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

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

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

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

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

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

Возвращает

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

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

Source
override def reverse: ArraySeq[A]

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

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

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

Возвращает

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

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

Source
override def reverseIterator: Iterator[A]

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

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

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

Возвращает

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

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

Source
override protected def reversed: Iterable[A]

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

Source
def runWith[U](action: Float => U): A => Boolean

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

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

if(pf isDefinedAt x) { action(pf(x)); true } else false

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

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

функция действия

Возвращает

функция, которая отображает аргументы x в isDefinedAt(x). Результирующая функция выполняет action(this(x)) там, где this определена.

См. также

applyOrElse.

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

Source
override def sameElements[B >: Float](o: IterableOnce[B]): Boolean

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
def scanRight[B](z: B)(op: (Float, B) => B): CC[B]

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

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

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

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

Пример:

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

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

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

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

z

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

Возвращает

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

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

Source
override def search[B >: Float](elem: B, from: Int, to: Int)(implicit ord: Ordering[B]): SearchResult

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

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

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

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

from

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

ord

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

to

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

Возвращает

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

См. также

scala.collection.IndexedSeq

scala.math.Ordering

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

Примечание

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

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

Source
override def search[B >: Float](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

Source
def segmentLength(p: Float => Boolean, from: Int): Int

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

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

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

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

p

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

Возвращает

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

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

Source
final def segmentLength(p: Float => Boolean): Int

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

См. также

sizeIs

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

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

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

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

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

Исходный код
override def slice(from: Int, until: Int): ArraySeq[A]

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

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

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

until

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

Возвращает

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

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

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

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

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

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

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

step

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

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

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

См. также

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

Пример

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

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

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

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

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

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

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

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

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

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

См. также

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

Пример

List().sliding(2) = empty iterator

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

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

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

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

Исходный код
def sortBy[B](f: Float => B)(implicit ord: Ordering[B]): C

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

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

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

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

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

целевой тип преобразования f, и тип, в котором определен порядок ord.

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

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

ord

упорядочение, предполагаемое в домене B.

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

набор, состоящий из элементов этого набора, отсортированных в соответствии с порядком, где x < y если ord.lt(f(x), f(y)).

См. также

scala.math.Ordering

Пример
val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
Унаследовано от SeqOps

Исходный код
def sortWith(lt: (Float, Float) => Boolean): C

Сортирует этот набор в соответствии с функцией сравнения.

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

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

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

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

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

Возвращает

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

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

Источник
override def sorted[B >: Float](implicit ord: Ordering[B]): ArraySeq[A]

Сортирует этот неизменяемый массив в соответствии с Ordering.

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

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

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

Возвращает

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

См. также

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def startsWith[B >: Float](that: IterableOnce[B], offset: Int): Boolean

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

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

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

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

that

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

Возвращает

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

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

Источник
def sum[B >: Float](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: Float => Boolean): C

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def toMap[K, V](implicit ev: Float <:< (K, V)): Map[K, V]

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

Источник
final override def toSeq: Seq.this.type

Возвращает

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

Классы определения Seq -> IterableOnceOps
Унаследовано от Seq

Источник
def toSet[B >: Float]: Set[B]

Унаследовано от IterableOnceOps

Source
override def toString(): String

Возвращает строковое представление объекта.

По умолчанию представление зависит от платформы.

Возвращает

строковое представление объекта.

Классы определений Seq -> Function1 -> Iterable -> Any
Унаследовано от Seq

Source
def toVector: Vector[A]

Унаследовано от IterableOnceOps

Source
def transpose[B](implicit asIterable: Float => 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

Source
def unapply(a: Int): Option[B]

Попытка извлечь B из A в выражении сопоставления с образцом.

Унаследовано от PartialFunction

Source
override def unzip[A1, A2](implicit asPair: Float => (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

Source
override def unzip3[A1, A2, A3](implicit asTriple: Float => (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: Float => 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 >: Float, B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества, объединяя соответствующие элементы в пары. Если одно из двух множеств короче другого, для расширения более короткого множества до длины более длинного используются элементы-заполнители.

Параметры значения
that

итерируемый объект, предоставляющий вторую половину каждой пары результатов

thatElem

элемент, который будет использоваться для заполнения результата, если that короче, чем этот итерируемый набор.

thisElem

элемент, который будет использоваться для заполнения результата, если этот итерируемый набор короче, чем b.

Возвращает

новый набор типа 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[Float]

Оборачиваемый изменяемый 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$$ofFloat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API