Spec-Zone.ru › Scala 3.2

Класс ArraySeq.ofBoolean

Исходный код

final class ofBoolean(val unsafeArray: Array[Boolean]) extends ArraySeq[Boolean]

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

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

Исходный код
override def appended[B >: Boolean](elem: B): ArraySeq[B]

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

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

Пример:

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Классы определений Seq -> Equals -> Any

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

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

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

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

Возвращает

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

Классы определений Seq -> Any

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

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

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

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

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

Исходный код
override def prepended[B >: Boolean](elem: B): ArraySeq[B]

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

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

Пример:

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

См. также

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

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

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

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

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

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

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

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

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

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

index

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

Возвращает

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

Исключения
IndexOutOfBoundsException

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

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

Наследуемые методы

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

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

Наследуется из IterableOps

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

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

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

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

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

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

Наследуется из SeqOps

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

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

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

Наследуется из SeqOps

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

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

Наследуется из SeqOps

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

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

Пример:

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

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

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

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

Возвращает

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

Наследуется из IterableOnceOps

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

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

Пример:

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

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

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

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

sep

разделитель.

Возвращает

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

Наследуется из IterableOnceOps

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

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

Пример:

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

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

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

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

end

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

sep

разделитель.

start

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

Возвращает

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

Наследуется из IterableOnceOps

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

x

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def collectFirst[B](pf: PartialFunction[Boolean, B]): Option[B]

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

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

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

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

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

Возвращает

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

Пример

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

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

Источник
def combinations(n: Int): Iterator[C]

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

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

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

Возвращает

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

Пример

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

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

Исходный код
def compose[R](k: PartialFunction[R, Int]): PartialFunction[R, B]

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

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

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

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

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

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

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

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

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

Исходный код
def compose[A](g: A => Int): A => R

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

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

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

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

функция A => T1

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

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

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

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

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

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

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

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

объект итерируемый, который нужно добавить.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
override def copyToArray[B >: Boolean](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

Source
def copyToArray[B >: Boolean](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
override def flatMap[B](f: Boolean => 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

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

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

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

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

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

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

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

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

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

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

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

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

z

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

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

Source
override def headOption: Option[A]

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

Returns

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

Definition Classes IndexedSeqOps -> IterableOps
Inherited from IndexedSeqOps

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

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

Type parameters
B

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

Value parameters
elem

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

Returns

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

Inherited from SeqOps

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

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

Type parameters
B

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

Value parameters
elem

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

from

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

Returns

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

Inherited from SeqOps

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

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

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

Value parameters
that

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

Returns

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

Inherited from SeqOps

Source
def indexOfSlice[B >: Boolean](that: Seq[B], from: Int): Int

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

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

Value parameters
from

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

that

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

Returns

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

Inherited from SeqOps

Source
def indexWhere(p: Boolean => Boolean): Int

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

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

Value parameters
p

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

Returns

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

Inherited from SeqOps

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

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

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

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

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

p

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

Возвращает

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

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

Источник
def indices: Range

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

Возвращает

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

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

Источник
def isDefinedAt(idx: Int): Boolean

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

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

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

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

Возвращает

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

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

Source
override def isEmpty: Boolean

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

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

Возвращает

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

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

Source
override def isTraversableAgain: Boolean

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

Возвращает

true если она многократно проходима, false в противном случае.

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

Source
override def iterableFactory: SeqFactory[ArraySeq]

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

Примечание

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

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

Source
override def knownSize: Int

Возвращает

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

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

Source
override def last: A

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Source
def lastIndexOf[B >: Boolean](elem: B, end: Int): Int

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

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

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

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

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

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

end

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

Возвращает

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

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

Source
def lastIndexOfSlice[B >: Boolean](that: Seq[B]): Int

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

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

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

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

Возвращает

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

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

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

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

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

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

индекс конца

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

Исходный код
def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, Iterable]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

См. также

lengthIs

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

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

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

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

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

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

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

Возвращает

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

См. также

Function.unlift

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

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

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

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

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

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

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

Возвращает

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

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

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

Находит максимальный элемент.

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

Находит максимальный элемент.

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

Source
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Source
override protected def newSpecificBuilder: Builder[A, CC[A]]

Возвращает

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

Примечание

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

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

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

Source
def nonEmpty: Boolean

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

Возвращает

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

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

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

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

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

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

B1

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

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

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

Возвращает

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

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

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

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

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

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

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

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

len

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

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

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

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

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

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

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

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

Source
override def partitionMap[A1, A2](f: Boolean => 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
override def patch[B >: Boolean](from: Int, other: IterableOnce[B], replaced: Int): CC[B]

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

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

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

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

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

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

other

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

replaced

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

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

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

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

Source
def permutations: Iterator[C]

Перебирает все различные перестановки.

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

Возвращает

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

Пример

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

Перемножает элементы этого набора.

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

Источник
def runWith[U](action: Boolean => U): A => Boolean

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

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

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

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

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

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

Возвращает

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

См. также

applyOrElse.

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

Источник
override def sameElements[B >: Boolean](o: IterableOnce[B]): Boolean

Являются ли элементы этого набора одинаковыми (и в том же порядке) как у that?

Классы определений IndexedSeq -> SeqOps
Унаследовано от IndexedSeq

Источник
def scan[B >: Boolean](z: B)(op: (B, B) => B): CC[B]

Вычисляет префиксное сканирование элементов набора.

Примечание: нейтральный элемент z может применяться более одного раза.

Тип параметров
B

тип элементов результирующего набора

Параметры значений
op

ассоциативный оператор для сканирования

z

нейтральный элемент для оператора op

Возвращает

новый итерируемый набор, содержащий префиксный сканирование элементов в этом итерируемом наборе

Унаследовано от IterableOps

Источник
override def scanLeft[B](z: B)(op: (B, Boolean) => B): CC[B]

Создает итерируемый набор, содержащий кумулятивные результаты применения оператора слева направо, включая начальное значение.

Примечание: не будет завершаться для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.

Тип параметров
B

тип элементов в результирующем наборе

Параметры значений
op

бинарный оператор, применяемый к промежуточному результату и элементу

z

начальное значение

Возвращает

набор с промежуточными результатами

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
def scanRight[B](z: B)(op: (Boolean, B) => B): CC[B]

Создает набор, содержащий кумулятивные результаты применения оператора справа налево. Головка набора — это последний кумулятивный результат.

Примечание: не будет завершаться для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.

Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Тип параметров
B

тип элементов в результирующем наборе

Параметры значений
op

бинарный оператор, применяемый к промежуточному результату и элементу

z

начальное значение

Возвращает

набор с промежуточными результатами

Унаследовано от IterableOps

Источник
override def search[B >: Boolean](elem: B, from: Int, to: Int)(implicit ord: Ordering[B]): SearchResult

Поиск в заданном интервале в этом отсортированном наборе для определенного элемента. Если этот набор является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.

Набор должен быть отсортирован с использованием того же Ordering перед вызовом; в противном случае результаты не определены.

Параметры значений
elem

элемент для поиска.

from

индекс, с которого начинается поиск.

ord

упорядочение, используемое для сравнения элементов.

to

индекс, следующий за тем, где поиск завершается.

Возвращает

значение Found , содержащее индекс, соответствующий элементу в наборе, или InsertionPoint вставки элемента, если элемент не содержится в наборе.

См. также

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

Примечание

Если to <= from, пространство поиска пусто, и возвращается InsertionPoint в from

Классы определения IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Источник
override def search[B >: Boolean](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: Boolean => Boolean, from: Int): Int

Вычисляет длину самой длинной последовательности, которая начинается с некоторого индекса и элементы которой удовлетворяют некоторому предикату.

Примечание: может не завершаться для наборов бесконечного размера.

Параметры значений
from

индекс, с которого начинается поиск.

p

предикат, используемый для проверки элементов.

Возвращает

длину самой длинной последовательности этого набора, начинающейся с индекса from , каждый элемент которой удовлетворяет предикату p

Унаследовано от SeqOps

Источник
final def segmentLength(p: Boolean => Boolean): Int

Вычисляет длину самой длинной последовательности, которая начинается с первого элемента и каждый элемент которой удовлетворяет некоторому предикату.

Примечание: может не завершаться для наборов бесконечного размера.

Параметры значений
p

предикат, используемый для проверки элементов.

Возвращает

длину самой длинной последовательности этого набора, начинающейся с первого элемента, каждый элемент которой удовлетворяет предикату p

Унаследовано от SeqOps

Источник
final override def size: Int

Размер этого набора.

Примечание: не будет завершаться для наборов бесконечного размера.

Возвращает

количество элементов в этом наборе.

Классы определения SeqOps -> IterableOnceOps
Унаследовано от SeqOps

Источник
final override def sizeCompare(that: Iterable[_]): Int

Сравнивает размер этого набора с размером другого набора.

Параметры значений
that

набор, размер которого сравнивается с размером этого набора.

Возвращает

Значение x, где

x <  0       if this.size <  that.size
x == 0       if this.size == that.size
x >  0       if this.size >  that.size

Метод, реализованный здесь, не вызывает size напрямую; его время выполнения равно O(this.size min that.size) вместо O(this.size + that.size). Метод должен быть переопределен, если вычисление size является быстрым, и knownSize возвращает -1

Классы определения SeqOps -> IterableOps
Унаследовано от SeqOps

Source
final override def sizeCompare(otherSize: Int): Int

Сравнивает размер этой последовательности со значением-тестом.

Параметры значений
otherSize

значение-тест, которое сравнивается с размером.

Возвращает

Значение x, где

x <  0       if this.size <  otherSize
x == 0       if this.size == otherSize
x >  0       if this.size >  otherSize

Метод, как реализован здесь, не вызывает size напрямую; его время выполнения равно O(size min otherSize), а не O(size). Метод следует переопределить, если вычисление size является дешёвым, а knownSize возвращает -1.

См. также

sizeIs

Классы определений SeqOps -> IterableOps
Унаследовано от SeqOps

Source
final def sizeIs: SizeCompareOps

Возвращает значение класса, содержащего операции для сравнения размера этой итерируемой коллекции со значением-тестом.

Эти операции реализованы в терминах sizeCompare(Int) и позволяют использовать следующие более читабельные выражения:

this.sizeIs < size     // this.sizeCompare(size) < 0
this.sizeIs <= size    // this.sizeCompare(size) <= 0
this.sizeIs == size    // this.sizeCompare(size) == 0
this.sizeIs != size    // this.sizeCompare(size) != 0
this.sizeIs >= size    // this.sizeCompare(size) >= 0
this.sizeIs > size     // this.sizeCompare(size) > 0
Унаследовано от IterableOps

Source
override def slice(from: Int, until: Int): ArraySeq[A]

Выбирает интервал элементов. Возвращаемый неизменяемый массив состоит из всех элементов x, которые удовлетворяют инварианту:

from <= indexOf(x) < until
Параметры значений
from

наименьший индекс для включения из этого неизменяемого массива.

until

наименьший индекс для исключения из этого неизменяемого массива.

Возвращает

неизменяемый массив, содержащий элементы, большие или равные индексу from, и до (но не включая) индекс until этого неизменяемого массива.

Классы определений ArraySeq -> IndexedSeqOps -> IndexedSeqOps -> IterableOps -> IterableOnceOps
Унаследовано от ArraySeq

Source
def sliding(size: Int, step: Int): Iterator[C]

Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения на группы, как в grouped.)

Возвращаемый итератор будет пустым, когда вызывается на пустой коллекции. Последний элемент, который итератор производит, может быть меньше размера окна, если исходная коллекция не исчерпывается окном перед ним и его последний элемент не пропускается шагом перед ним.

Параметры значений
size

количество элементов в группе

step

расстояние между первыми элементами последовательных групп

Возвращает

Итератор, производящий итерируемые коллекции размера size, за исключением последнего элемента (который может быть единственным), который будет меньше, если остаётся меньше size элементов, подлежащих группировке.

См. также

scala.collection.Iterator, метод sliding

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

Унаследовано от IterableOps

Source
def sliding(size: Int): Iterator[C]

Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения на группы, как в grouped.)

Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который будет производить исходную коллекцию как единственный элемент.

Параметры значения
size

количество элементов в группе

Возвращает

Итератор, генерирующий итерируемые коллекции размером size, за исключением непустой коллекции с менее чем size элементами, которая возвращает итератор, генерирующий исходную коллекцию как единственный элемент.

См. также

scala.collection.Iterator, метод sliding

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

Унаследовано от IterableOps

Источник
def sortBy[B](f: Boolean => B)(implicit ord: Ordering[B]): C

Сортирует эту последовательность в соответствии с порядком, полученным из преобразования неявно заданного порядка с помощью функции преобразования.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.

Сортировка устойчива. То есть элементы, равные (как определяется ord.compare), появляются в отсортированной последовательности в том же порядке, что и в оригинале.

Параметры типа
B

целевой тип преобразования f, и тип, где определен порядок ord.

Параметры значения
f

функция преобразования, отображающая элементы в некоторую другую область B.

ord

порядок, предполагаемый в области B.

Возвращает

последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с порядком, где x < y если ord.lt(f(x), f(y)).

См. также

scala.math.Ordering

Пример
val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
Унаследовано от SeqOps

Источник
def sortWith(lt: (Boolean, Boolean) => Boolean): C

Сортирует эту последовательность в соответствии с функцией сравнения.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.

Сортировка устойчива. То есть элементы, равные (как определяется lt), появляются в отсортированной последовательности в том же порядке, что и в оригинале.

Параметры значения
lt

функция сравнения, которая проверяет, предшествует ли первый аргумент второму аргументу в нужном порядке.

Возвращает

последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с функцией сравнения lt.

Пример
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
Унаследовано от SeqOps

Источник
override def span(p: Boolean => Boolean): (C, C)

Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры значения
p

предикат проверки

Возвращает

пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которой удовлетворяют p, и остальной части этой итерируемой коллекции.

Классы определений StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
override def splitAt(n: Int): (C, C)

Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.

Параметры значения
n

позиция, в которой необходимо разделить.

Возвращает

пара итерируемых коллекций, состоящая из первых n элементов этой итерируемой коллекции и других элементов.

Определяющие классы IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
def startsWith[B >: Boolean](that: IterableOnce[B], offset: Int): Boolean

Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.

Примечание: если и получающий объект this и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.

Параметры значения
offset

индекс, в котором ищется последовательность.

that

тестируемая последовательность

Возвращает

true, если последовательность that содержится в этой последовательности в индексе offset, в противном случае false.

Унаследовано от SeqOps

Источник
def sum[B >: Boolean](implicit num: Numeric[B]): B

Суммирует элементы этой коллекции.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
B

тип результата оператора +.

Параметры значения
num

неявный параметр, определяющий набор числовых операций, который включает оператор +, используемый для формирования суммы.

Возвращает

сумма всех элементов этой коллекции относительно оператора + в num.

Унаследовано от IterableOnceOps

Источник
override def tail: ArraySeq[A]

Остаток коллекции без ее первого элемента.

Определяющие классы ArraySeq -> IterableOps
Унаследовано от ArraySeq

Источник
def tails: Iterator[C]

Итерируется по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения будут результатом последовательных применений tail.

Возвращает

итератор по всем хвостам этой итерируемой коллекции

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

Унаследовано от IterableOps

Источник
override def take(n: Int): ArraySeq[A]

Выбирает первые n элементов.

Параметры значения
n

количество элементов для извлечения из этого неизменяемого массива.

Возвращает

неизменяемый массив, содержащий только первые n элементов этого неизменяемого массива, или весь неизменяемый массив, если в нем меньше n элементов. Если n отрицательно, возвращается пустой неизменяемый массив.

Определяющие классы ArraySeq -> IndexedSeqOps -> IterableOps -> IterableOnceOps
Унаследовано от ArraySeq

Источник
override def takeRight(n: Int): ArraySeq[A]

Коллекция, содержащая последние n элементы этой коллекции.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Определяющие классы ArraySeq -> StrictOptimizedIterableOps -> IndexedSeqOps -> IterableOps
Унаследовано от ArraySeq

Источник
def takeWhile(p: Boolean => Boolean): C

Берет самый длинный префикс элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

самый длинный префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату p.

Унаследовано от IterableOps

Источник
override def tapEach[U](f: Boolean => U): C

Применяет функцию с побочным эффектом к каждому элементу в этой коллекции. Строгие коллекции будут применять f к своим элементам немедленно, в то время как ленивые коллекции, такие как представления и LazyList, будут применять f к каждому элементу только при и при каждом его вычислении.

Параметры типа
U

тип возвращаемого значения f

Параметры значения
f

функция, применяемая к каждому элементу в этой итерируемой коллекции

Возвращает

такая же логическая коллекция, как и эта

Определяющие классы StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
def to[C1](factory: Factory[Boolean, C1]): C1

При заданном фабричном методе коллекции factory, преобразуйте эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Источник
def toArray[B >: Boolean : ClassTag]: Array[B]

Преобразование коллекции в массив.

Примечание к реализации: НЕ вызывайте Array.from из этого метода.

Унаследовано от IterableOnceOps

Источник
final def toBuffer[B >: Boolean]: Buffer[B]

Унаследовано от IterableOnceOps

Источник
final override def toIndexedSeq: IndexedSeq[A]

Определяющие классы IndexedSeq -> IterableOnceOps
Унаследовано от IndexedSeq
END_OF_DOCUMENT_MARKER

Source
def toList: Список[A]

Inherited from IterableOnceOps

Source
def toMap[K, V](implicit ev: Boolean <:< (K, V)): Карта[K, V]

Inherited from IterableOnceOps

Source
final override def toSeq: Последовательность.this.type

Returns

Эта коллекция как Seq[A]. Это эквивалентно to(Seq) , но может быть быстрее.

Definition Classes Последовательность -> IterableOnceOps
Inherited from Последовательность

Source
def toSet[B >: Boolean]: Множество[B]

Inherited from IterableOnceOps

Source
override def toString(): Строка

Возвращает строковое представление объекта.

По умолчанию представление зависит от платформы.

Returns

строковое представление объекта.

Definition Classes Последовательность -> Функция1 -> Итерируемый -> Любой
Inherited from Последовательность

Source
def toVector: Вектор[A]

Inherited from IterableOnceOps

Source
def transpose[B](implicit asIterable: Boolean => Итерируемый[B]): CC[CC[B]]

Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.

Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Type parameters
B

тип элементов каждой итерируемой коллекции.

Value parameters
asIterable

явное преобразование, которое утверждает, что тип элементов этой итерируемой коллекции является Iterable.

Returns

двумерная итерируемая коллекция итерируемых коллекций, у которой n-ая строка является n-ым столбцом этой итерируемой коллекции.

Throws
IllegalArgumentException

если все коллекции в этой итерируемой коллекции не имеют одинаковый размер.

Inherited from IterableOps

Source
def unapply(a: Целое число): Вариант[B]

Пытается извлечь B из A в выражении сопоставления с образцом.

Inherited from PartialFunction

Source
override def unzip[A1, A2](implicit asPair: Boolean => (A1, A2)): (CC[A1], CC[A2])

Преобразует эту итерируемую коллекцию пар в две коллекции первой и второй половины каждой пары.

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Type parameters
A1

тип первой половины элементов пар

A2

тип второй половины элементов пар

Value parameters
asPair

явное преобразование, которое утверждает, что тип элементов этой итерируемой коллекции является парой.

Returns

пара итерируемых коллекций, содержащих первую, соответственно вторую половину каждой пары элементов этой итерируемой коллекции.

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
override def unzip3[A1, A2, A3](implicit asTriple: Boolean => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])

Преобразует эту итерируемую коллекцию троек в три коллекции первого, второго и третьего элемента каждой тройки.

val xs = Iterable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three),
//        Iterable(1, 2, 3))
Type parameters
A1

тип первого члена троек элементов

A2

тип второго члена троек элементов

A3

тип третьего члена троек элементов

Value parameters
asTriple

явное преобразование, которое утверждает, что тип элементов этой итерируемой коллекции является тройкой.

Returns

тройка итерируемых коллекций, содержащих первый, второй, соответственно третий член каждой тройки элементов этой итерируемой коллекции.

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
override def view: IndexedSeqView[A]

Представление элементов этой коллекции.

Definition Classes IndexedSeqOps -> SeqOps -> IterableOps
Inherited from IndexedSeqOps

Source
def withFilter(p: Boolean => Boolean): WithFilter[A, CC]

Создаёт нестрогий фильтр этой итерируемой коллекции.

Примечание: разница между c filter p и c withFilter p в том, что первый создаёт новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Value parameters
p

предикат, используемый для проверки элементов.

Returns

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этой итерируемой коллекции, которые удовлетворяют предикату p.

Inherited from IterableOps

Source
override def zip[B](that: IterableOnce[B]): ArraySeq[(A, B)]

Возвращает неизменяемый массив, образованный из этого неизменяемого массива и другой итерируемой коллекции, объединяя соответствующие элементы парами. Если одна из двух коллекций длиннее другой, оставшиеся элементы игнорируются.

Параметры типа
B

тип второй половины возвращаемых пар

Параметры значения
that

Итерируемый объект, предоставляющий вторую половину каждой пары результатов

Возвращает

новый неизменяемый массив, содержащий пары, состоящие из соответствующих элементов этого неизменяемого массива и that. Длина возвращаемого набора — минимальная из длин этого неизменяемого массива и that.

Определяющие классы ArraySeq -> StrictOptimizedIterableOps -> IterableOps
Унаследовано от ArraySeq

Исходный код
def zipAll[A1 >: Boolean, B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путем объединения соответствующих элементов в пары. Если один из двух наборов короче другого, используется элемент-заполнитель для расширения более короткого набора до длины более длинного.

Параметры значения
that

итерируемый объект, предоставляющий вторую половину каждой пары результата

thatElem

элемент, используемый для заполнения результата, если that короче, чем этот итерируемый набор.

thisElem

элемент, используемый для заполнения результата, если этот итерируемый набор короче, чем that.

Возвращает

новый набор типа That, содержащий пары, образованные из соответствующих элементов этого итерируемого набора и that. Длина возвращаемого набора — максимальная из длин этого итерируемого набора и that. Если этот итерируемый набор короче that, используются значения thisElem для заполнения результата. Если that короче, чем этот итерируемый набор, используются значения thatElem для заполнения результата.

Унаследовано от IterableOps

Исходный код
override def zipWithIndex: CC[(A, Int)]

Объединяет этот итерируемый набор со своими индексами.

Возвращает

Новый итерируемый набор, содержащий пары, состоящие из всех элементов этого итерируемого набора, соединённых с их индексом. Индексы начинаются с 0.

Пример

List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Определяющие классы StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Конкретные поля

Исходный код
val unsafeArray: Array[Boolean]

Обернутый изменяемый Array в основе этого ArraySeq. Любые изменения в этом массиве нарушат ожидаемую неизменяемость. Его тип элемента не обязательно должен совпадать с типом элемента этого ArraySeq. Примитивный ArraySeq может быть основан на массиве упакованных значений, а ссылочный ArraySeq может быть основан на массиве супертипа или подтипа типа элемента.

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/immutable/ArraySeq$$ofBoolean.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API