Spec-Zone.ru › Scala 3.2

Класс ArraySeq.ofLong

Исходный код

final class ofLong(val array: Array[Long]) extends ArraySeq[Long]

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

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

Исходный код
def apply(index: Int): Long

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

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

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

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

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

Классы-определения ArraySeq -> 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[Long]

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

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

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

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

Исходный код
override def stepper[S <: Stepper[_]](implicit shape: StepperShape[Long, S]): S & EfficientSplit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
final override def ++:[B >: Long](prefix: IterableOnce[B]): CC[B]

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

Описание классов SeqOps -> IterableOps
Унаследовано от SeqOps

Source
final def +:[B >: Long](elem: B): CC[B]

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

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

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

Source
final def :+[B >: Long](elem: B): CC[B]

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

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

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

Source
final def :++[B >: Long](suffix: IterableOnce[B]): CC[B]

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

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

Source
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

Source
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

Source
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
оставленный комментарий

Source
def andThen[C](k: PartialFunction[Long, C]): PartialFunction[A, C]

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

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

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

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

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

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

Возвращает

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

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

Source
override def andThen[C](k: Long => C): PartialFunction[A, C]

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

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

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

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

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

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

Возвращает

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

Описание классов PartialFunction -> Function1
Унаследовано от PartialFunction

Source
override def appended[B >: Long](elem: B): CC[B]

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

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

Пример:

scala> val a = List(1)
a: List[Int] = List(1)

scala> val b = a :+ 2
b: List[Int] = List(1, 2)

scala> println(a)
List(1)
Параметры типа
B

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

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

добавленный элемент

Возвращает

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

Описание классов StrictOptimizedSeqOps -> SeqOps
Унаследовано от StrictOptimizedSeqOps

Source
override def appendedAll[B >: Long](suffix: IterableOnce[B]): CC[B]

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

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

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

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

подлежащая добавлению коллекция.

Возвращает

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

Описание классов StrictOptimizedSeqOps -> SeqOps
Унаследовано от StrictOptimizedSeqOps
END_OF_DOCUMENT_MARKER

Source
def applyOrElse[A1 <: Int, B1 >: Long](x: A1, default: A1 => B1): B1

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

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

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

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

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

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

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

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

x

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

Возвращает

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

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

Source
def canEqual(that: Any): Boolean

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

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

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

Возвращает

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

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

Source
override def clone(): ArraySeq[T]

Создаёт клон этого объекта, включая базовый массив.

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

Source
override def collect[B](pf: PartialFunction[Long, B]): CC[B]

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

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

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

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

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

Возвращает

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

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

Source
def collectFirst[B](pf: PartialFunction[Long, B]): Option[B]

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

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

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

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

частичная функция

Возвращает

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

Пример

Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

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

Source
def combinations(n: Int): Iterator[C]

Итерируется по комбинациям. _Комбинация_ длины n — это подпоследовательность исходной последовательности, элементы которой взяты в порядке. Таким образом, "xy" и "yy" — это комбинации длины 2 последовательности "xyy", но "yx" — нет. Если существует более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна.

Например, "xyyy" имеет три различных способа генерации "xy", в зависимости от того, какой первый, второй или третий "y" выбран. Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран, является деталью реализации, которая не определена.

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

Возвращает

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

Пример

"abbbc".combinations(2) = Iterator(ab, ac, bb, bc)

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

Source
def compose[R](k: PartialFunction[R, Int]): PartialFunction[R, B]

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

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

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

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

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

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

Возвращает

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

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

Source
def compose[A](g: A => Int): A => R

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

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

тип, к которому функция g может быть применена

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

функция A => T1

Возвращает

новая функция f такая, что f(x) == apply(g(x))

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

Source
final override def concat[B >: Long](suffix: IterableOnce[B]): CC[B]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

start

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

xs

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

xs

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

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

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

Примечание

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

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

Source
def copyToArray[B >: Long](xs: Array[B]): Int

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

Source
def corresponds[B](that: IterableOnce[B])(p: (Long, B) => Boolean): Boolean

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

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

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

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

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

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

that

другой набор

Возвращает

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

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

Source
def corresponds[B](that: Seq[B])(p: (Long, B) => Boolean): Boolean

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

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

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

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

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

that

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

Возвращает

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

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

Source
def count(p: Long => Boolean): Int

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

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

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

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

Возвращает

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

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

Source
override def diff[B >: Long](that: Seq[B]): C

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

Исходный код
override def distinctBy[B](f: Long => B): C

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

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

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

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

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

Возвращает

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

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

Исходный код
override def drop(n: Int): C

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

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

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

Возвращает

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

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

Исходный код
override def dropRight(n: Int): C

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def elementWise: ElementWiseExtractor[A, B]

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

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

Исходный код
override def empty: ArraySeq[T]

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def find(p: Long => Boolean): Option[A]

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

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

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

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

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

Возвращает

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

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

Исходный код
def findLast(p: Long => Boolean): Option[A]

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

class="attributes">
Параметры значения
p

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

Возвращает

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

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

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

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

class="attributes">
Унаследовано от IterableOnceOps

Исходный код
def groupBy[K](f: Long => K): Map[K, C]

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

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

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

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

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

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

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

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

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

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

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

Исходный код
def groupMap[K, B](key: Long => K)(f: Long => B): Map[K, CC[B]]

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

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

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

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

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

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

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

K

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

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

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

key

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

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

Исходный код
def groupMapReduce[K, B](key: Long => K)(f: Long => B)(reduce: (B, B) => B): Map[K, B]

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

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

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

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

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

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

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

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

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

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

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

См. также

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

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

Исходный код
override def head: A

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

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

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

Исключения
NoSuchElementException

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

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

Исходный код
override def headOption: Option[A]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

from

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

that

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

p

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

Возвращает

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

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

Исходный код
def indices: Диапазон

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

Исходный код
override def intersect[B >: Long](that: Последовательность[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 если можно многократно пройтись, 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 >: Long](elem: B, end: Int): Int

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

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

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

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

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

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

end

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

Возвращает

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

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

Исходный код
def lastIndexOfSlice[B >: Long](that: Последовательность[B]): Int

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

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

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

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

Возвращает

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

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

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

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

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

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

индекс окончания

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
def lastIndexWhere(p: Long => 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: Long => B): CC[B]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
final def mkString: String

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

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

Возвращает

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

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

Источник
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

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

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

Возвращает

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

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

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

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

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

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

B1

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

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

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

Возвращает

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

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

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

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

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

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

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

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

len

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

Возвращает

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

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

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

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

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

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

Source
override def partitionMap[A1, A2](f: Long => Either[A1, A2]): (CC[A1], CC[A2])

Применяет функцию f к каждому элементу итерируемого набора и возвращает пару итерируемых наборов: первый содержит значения, возвращённые f и заключённые в scala.util.Left, второй — заключённые в scala.util.Right.

Пример:

val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
 case i: Int => Left(i)
 case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

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

A2

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

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

функция 'разделения', отображающая элементы этого итерируемого набора в scala.util.Either

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

пара итерируемых наборов: первый содержит значения, возвращённые f и заключённые в scala.util.Left, второй — заключённые в scala.util.Right.

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

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

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

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

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

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

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

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

other

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

replaced

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

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

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

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

Source
def permutations: Iterator[C]

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

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

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

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

Пример

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

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

Source
override def prepended[B >: Long](elem: B): CC[B]

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

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

Пример:

scala> val x = List(1)
x: List[Int] = List(1)

scala> val y = 2 +: x
y: List[Int] = List(2, 1)

scala> println(x)
List(1)
Тип параметров
B

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

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

префиксный элемент

Возвращает

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

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

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

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

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

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

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

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

итерируемый объект для префикса.

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
override def reverse: C

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

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

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

Возвращает

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

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

Source
override def reverseIterator: Iterator[A]

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

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

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

Возвращает

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

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

Source
override protected def reversed: Iterable[A]

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

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

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

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

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

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

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

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

Возвращает

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

См. также

applyOrElse.

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

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
def scanRight[B](z: B)(op: (Long, 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 >: Long](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 >: Long](elem: B)(implicit ord: Ordering[B]): SearchResult

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

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

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

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

ord

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

Возвращает

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

См. также

scala.collection.IndexedSeq

scala.math.Ordering

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

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

Источник
def segmentLength(p: Long => Boolean, from: Int): Int

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

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

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

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

p

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

Источник
final override def sizeCompare(otherSize: Int): Int

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

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

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

Возвращает

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

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

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

См. также

sizeIs

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

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

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

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

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

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

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

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

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

until

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

Возвращает

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

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

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

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

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

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

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

step

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

Возвращает

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

См. также

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

Пример

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

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

Унаследовано от IterableOps

Исходный код
def sliding(size: Int): Iterator[C]

Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разбиения их, как это делается в grouped.)

Пустой набор возвращает пустой итератор, а непустой набор, содержащий меньше элементов, чем размер окна, возвращает итератор, который произведёт исходный набор как единственный элемент.

Параметры значения
size

количество элементов в группе

Возвращает

Итератор, производящий итерируемые наборы размера size, за исключением непустого набора с менее чем size элементами, который возвращает итератор, производящий исходный набор в качестве единственного элемента.

См. также

scala.collection.Iterator, метод sliding

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

Унаследовано от IterableOps

Source
def sortBy[B](f: Long => B)(implicit ord: Ordering[B]): C

Сортирует эту последовательность в соответствии с порядком, который получается в результате преобразования неявно заданного порядка с помощью функции преобразования.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: даже когда применяется к представлению или ленивой коллекции, она всегда будет принудительно вычислять элементы.

Сортировка стабильна. То есть, элементы, которые равны (как определено ord.compare), будут иметь тот же порядок в отсортированной последовательности, что и в исходной.

Параметры типа
B

целевой тип преобразования f, и тип, в котором определен порядок ord.

Параметры значения
f

функция преобразования, отображающая элементы в другую область B.

ord

порядок, предполагаемый для области B.

Возвращает

последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с порядком, где x < y, если ord.lt(f(x), f(y)).

См. также

scala.math.Ordering

Пример
val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
Унаследовано от SeqOps

Source
override def sortInPlace[B >: Long]()(implicit ord: Ordering[B]): ArraySeq.this.type

Сортирует этот обернутый массив на месте в соответствии с порядком.

Параметры значения
ord

порядок, используемый для сравнения элементов.

Возвращает

изменённый входной обернутый отсортированный массив в соответствии с порядком ord.

См. также

scala.collection.SeqOps.sorted

Классы определений ArraySeq -> IndexedSeqOps
Унаследовано от ArraySeq

Source
def sortInPlaceBy[B](f: Long => B)(implicit ord: Ordering[B]): IndexedSeqOps.this.type

Сортирует эту изменяемую последовательность на месте в соответствии с порядком, полученным в результате преобразования неявно заданного порядка с помощью функции преобразования.

См. также

scala.collection.SeqOps.sortBy

Унаследовано от IndexedSeqOps

Source
def sortInPlaceWith(lt: (Long, Long) => Boolean): IndexedSeqOps.this.type

Сортирует эту изменяемую последовательность на месте в соответствии с функцией сравнения.

См. также

scala.collection.SeqOps.sortWith

Унаследовано от IndexedSeqOps

Source
def sortWith(lt: (Long, Long) => Boolean): C

Сортирует эту последовательность в соответствии с функцией сравнения.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: даже когда применяется к представлению или ленивой коллекции, она всегда будет принудительно вычислять элементы.

Сортировка стабильна. То есть, элементы, которые равны (как определено lt), будут иметь тот же порядок в отсортированной последовательности, что и в исходной.

Параметры значения
lt

функция сравнения, которая проверяет, предшествует ли её первый аргумент второму в желаемом порядке.

Возвращает

последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с функцией сравнения lt.

Пример
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
Унаследовано от SeqOps

Source
override def sorted[B >: Long](implicit ord: Ordering[B]): ArraySeq[T]

Сортирует этот обернутый массив в соответствии с порядком.

Сортировка стабильна. То есть, элементы, которые равны (как определено ord.compare), будут иметь тот же порядок в отсортированной последовательности, что и в исходной.

Параметры значения
ord

порядок, используемый для сравнения элементов.

Возвращает

обёрнутый массив, состоящий из элементов этого обернутого массива, отсортированных в соответствии с порядком ord.

См. также

scala.math.Ordering Примечание: даже когда применяется к представлению или ленивой коллекции, она всегда будет принудительно вычислять элементы.

Классы определений ArraySeq -> SeqOps
Унаследовано от ArraySeq

Source
override def span(p: Long => Boolean): (C, C)

Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Параметры значения
p

предикат проверки

Возвращает

пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которой удовлетворяют p, и остальной части этой итерируемой коллекции.

Классы определений StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Source
override def splitAt(n: Int): (C, C)

Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Параметры значения
n

позиция разделения.

Возвращает

пара итерируемых коллекций, состоящая из первых n элементов этой итерируемой коллекции и других элементов.

Классы определений IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Source
def startsWith[B >: Long](that: IterableOnce[B], offset: Int): Boolean

Проверяет, содержит ли эта последовательность данную последовательность в заданном индексе.

Примечание: Если и получаемый объект this, и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.

Параметры значения
offset

индекс, где ищется последовательность.

that

последовательность для проверки

Возвращает

true, если последовательность that содержится в этой последовательности в индексе offset, в противном случае false.

Унаследовано от SeqOps

Source
def sum[B >: Long](implicit num: Numeric[B]): B

Суммирует элементы этой коллекции.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

тип результата оператора +.

Параметры значений
num

неявный параметр, определяющий набор числовых операций, включающий оператор +, который используется для формирования суммы.

Возвращает

сумму всех элементов этого набора относительно оператора + в num.

Унаследовано от IterableOnceOps

Источник
def tail: C

Остальная часть набора без первого элемента.

Унаследовано от IterableOps

Источник
def tails: Iterator[C]

Итерирует по хвостам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения будут результатами последовательного применения tail.

Возвращает

итератор по всем хвостам этого итерируемого набора

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

Унаследовано от IterableOps

Источник
override def take(n: Int): C

Выбирает первые n элементов.

Параметры значений
n

количество элементов, которые нужно взять из этой последовательности.

Возвращает

последовательность, содержащую только первые n элементов этой последовательности, или же всю последовательность, если в ней меньше n элементов. Если n отрицательное, возвращается пустая последовательность.

Классы-предки IndexedSeqOps -> IterableOps -> IterableOnceOps
Унаследовано от IndexedSeqOps

Источник
override def takeRight(n: Int): C

Набор, содержащий последние n элементы этого набора.

Примечание: Даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.

Классы-предки StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
def takeWhile(p: Long => Boolean): C

Берет самую длинную префиксную последовательность элементов, которые удовлетворяют предикату.

Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.

Параметры значений
p

Предикат, используемый для проверки элементов.

Возвращает

самый длинный префикс этого итерируемого набора, элементы которого удовлетворяют предикату p.

Унаследовано от IterableOps

Источник
override def tapEach[U](f: Long => U): C

Применяет функцию с побочным эффектом к каждому элементу в этом наборе. Строгие наборы немедленно применяют f к своим элементам, а ленивые наборы, такие как представления и LazyLists, применяют f только к каждому элементу, если и когда этот элемент оценивается, и каждый раз, когда этот элемент оценивается.

Тип параметров
U

тип возвращаемого значения f

Параметры значений
f

функция для применения к каждому элементу в этом итерируемом наборе

Возвращает

логически тот же набор, что и этот

Классы-предки StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
def to[C1](factory: Factory[Long, C1]): C1

Исходя из фабрики наборов factory, преобразуйте этот набор в соответствующее представление для текущего типа элементов A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Источник
def toArray[B >: Long : ClassTag]: Array[B]

Преобразовать набор в массив.

Примечание: НЕ вызывайте Array.from из этого метода.

Унаследовано от IterableOnceOps

Источник
final def toBuffer[B >: Long]: Buffer[B]

Унаследовано от IterableOnceOps

Источник
def toIndexedSeq: IndexedSeq[A]

Унаследовано от IterableOnceOps

Источник
def toList: List[A]

Унаследовано от IterableOnceOps

Источник
def toMap[K, V](implicit ev: Long <:< (K, V)): Map[K, V]

Унаследовано от IterableOnceOps

Источник
def toSeq: Seq[A]

Возвращает

Этот набор в виде Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Унаследовано от IterableOnceOps

Источник
def toSet[B >: Long]: Set[B]

Унаследовано от IterableOnceOps

Источник
override def toString(): String

Возвращает строковое представление объекта.

По умолчанию представление зависит от платформы.

Возвращает

строковое представление объекта.

Классы-предки Seq -> Function1 -> Iterable -> Any
Унаследовано от Seq

Источник
def toVector: Vector[A]

Унаследовано от IterableOnceOps

Источник
def transpose[B](implicit asIterable: Long => Iterable[B]): CC[CC[B]]

Транспонирует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.

Тип результирующего множества будет определяться статическим типом итерируемого множества. Например:

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

Примечание: Даже при применении к представлению или ленивому множеству, элементы всегда будут принудительно вычислены.

Параметры типа
B

тип элементов каждого итерируемого множества.

Значения параметров
asIterable

неявное преобразование, которое утверждает, что тип элемента этого итерируемого множества является Iterable.

Возвращает

двумерное итерируемое множество итерируемых множеств, в котором n-я строка является n-м столбцом этого итерируемого множества.

Исключения
IllegalArgumentException

если все множества в этом итерируемом множестве не имеют одинаковый размер.

Унаследовано от IterableOps

Источник
def unapply(a: Int): Option[B]

Попытка извлечь B из A в выражении сопоставления с образцом.

Унаследовано от PartialFunction

Источник
override def unzip[A1, A2](implicit asPair: Long => (A1, A2)): (CC[A1], CC[A2])

Преобразует это итерируемое множество пар в два множества первой и второй половины каждой пары.

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

Значения параметров
asPair

неявное преобразование, которое утверждает, что тип элемента этого итерируемого множества является парой.

Возвращает

пара итерируемых множеств, содержащая первую, соответственно вторую половину каждой пары элементов этого итерируемого множества.

Определяющие классы StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
override def unzip3[A1, A2, A3](implicit asTriple: Long => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])

Преобразует это итерируемое множество троек в три множества первого, второго и третьего элемента каждой тройки.

val xs = Iterable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three),
//        Iterable(1, 2, 3))
Параметры типа
A1

тип первого члена троек элементов

A2

тип второго члена троек элементов

A3

тип третьего члена троек элементов

Значения параметров
asTriple

неявное преобразование, которое утверждает, что тип элемента этого итерируемого множества является тройкой.

Возвращает

тройку итерируемых множеств, содержащую первый, второй, соответственно третий член каждой тройки элементов этого итерируемого множества.

Определяющие классы StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
def updated[B >: Long](index: Int, elem: B): CC[B]

Копия этой последовательности с одним изменённым элементом.

Параметры типа
B

тип элемента возвращаемой последовательности.

Значения параметров
elem

заменяющий элемент

index

позиция замены

Возвращает

новая последовательность, являющаяся копией этой последовательности с элементом на позиции index заменённым на elem.

Исключения
IndexOutOfBoundsException

если index не удовлетворяет 0 <= index < length. В случае ленивой коллекции это исключение может быть брошено позже или вообще не брошено (если конец коллекции никогда не оценивается).

Унаследовано от SeqOps

Источник
override def view: IndexedSeqView[A]

Представление над элементами этого множества.

Определяющие классы IndexedSeqOps -> SeqOps -> IterableOps
Унаследовано от IndexedSeqOps

Источник
def withFilter(p: Long => 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]): CC[(A, B)]

Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путём объединения соответствующих элементов парами. Если одно из двух множеств длиннее другого, оставшиеся элементы игнорируются.

Параметры типа
B

тип второй половины возвращаемых пар

Значения параметров
that

Итерируемое множество, предоставляющее вторую половину каждой пары результата

Возвращает

новое итерируемое множество, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и that. Длина возвращаемого множества равна минимальному значению длин этого итерируемого множества и that.

Определяющие классы StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
def zipAll[A1 >: Long, B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путём объединения соответствующих элементов парами. Если одно из двух множеств короче другого, используются плейсхолдерные элементы для расширения более короткого множества до длины более длинного.

Параметры значения
that

итерируемый объект, предоставляющий вторую половину каждой пары результатов

thatElem

элемент, используемый для заполнения результата, если that короче, чем этот итерируемый набор.

thisElem

элемент, используемый для заполнения результата, если этот итерируемый набор короче, чем that.

Возвращает

новый набор типа That, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и that. Длина возвращаемого набора — максимальная длина этого итерируемого набора и that. Если этот итерируемый набор короче that, значения thisElem используются для заполнения результата. Если that короче этого итерируемого набора, значения thatElem используются для заполнения результата.

Унаследовано от IterableOps

Источник
override def zipWithIndex: CC[(A, Int)]

Объединяет этот итерируемый набор со своими индексами.

Возвращает

Новый итерируемый набор, содержащий пары, состоящие из всех элементов этого итерируемого набора, сопоставленных с их индексом. Индексы начинаются с 0.

Пример

List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Классы-предки StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Конкретные поля

Источник
val array: Array[Long]

Основной массив. Его тип элементов не обязательно должен совпадать с типом элементов этого ArraySeq. Примитивный ArraySeq может опираться на массив упакованных значений, а ссылка ArraySeq может опираться на массив супертипа или подтипа типа элементов.

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/mutable/ArraySeq$$ofLong.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API