Spec-Zone.ru › Scala 3.1

Класс scala.collection.mutable.UnrolledBuffer

Объект-компаньон • Исходный код

@SerialVersionUID(3L)
sealed class UnrolledBuffer[T](implicit val tag: ClassTag[T]) extends AbstractBuffer[T] with Buffer[T] with Seq[T] with SeqOps[T, UnrolledBuffer, UnrolledBuffer[T]] with StrictOptimizedSeqOps[T, UnrolledBuffer, UnrolledBuffer[T]] with EvidenceIterableFactoryDefaults[T, UnrolledBuffer, ClassTag] with Builder[T, UnrolledBuffer[T]] with DefaultSerializable

Буфер, хранящий элементы в списке, объединённом в блоки.

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

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

Однако они предоставляют сложность случайного доступа O(n/m), где n — количество элементов, а m — размер блоков внутреннего массива.

Идеально использовать, когда: - элементы добавляются в буфер, а затем все элементы обрабатываются последовательно - два буфера, объединённых в блоки, необходимо объединить (см. concat)

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

Типы-супертипы
32 типа
Тракт DefaultSerializable
Тракт Serializable
Тракт Builder[T, UnrolledBuffer[T]]
Тракт EvidenceIterableFactoryDefaults[T, UnrolledBuffer, ClassTag]
Тракт StrictOptimizedSeqOps[T, UnrolledBuffer, UnrolledBuffer[T]]
Тракт StrictOptimizedIterableOps[T, UnrolledBuffer, UnrolledBuffer[T]]
Класс AbstractBuffer[T]
Тракт Buffer[T]
Тракт Shrinkable[T]
Тракт Growable[T]
Тракт Clearable
Класс AbstractSeq[T]
Тракт Seq[T]
Тракт SeqOps[T, UnrolledBuffer, UnrolledBuffer[T]]
Тракт Cloneable[UnrolledBuffer[T]]
Тракт Cloneable
Тракт Iterable[T]
Класс AbstractSeq[T]
Тракт Seq[T]
Тракт Equals
Тракт SeqOps[T, UnrolledBuffer, UnrolledBuffer[T]]
Тракт PartialFunction[Int, T]
Тракт Int => T
Класс AbstractIterable[T]
Тракт Iterable[T]
Тракт IterableFactoryDefaults[T, Buffer]
Тракт IterableOps[T, UnrolledBuffer, UnrolledBuffer[T]]
Тракт IterableOnceOps[T, UnrolledBuffer, UnrolledBuffer[T]]
Тракт IterableOnce[T]
Класс Object
Тракт Matchable
Класс Any

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

Исходный код
def addOne(elem: T): UnrolledBuffer[T]

Исходный код
def apply(idx: Int): T

Исходный код
def classTagCompanion: UnrolledBuffer.type

Исходный код
def clear(): Unit

Исходный код
override def clone(): UnrolledBuffer[T]

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

Исходный код
def concat(that: UnrolledBuffer[T]): UnrolledBuffer[T]

Объединяет целевой буфер, объединённый в блоки, с этим буфером, объединённым в блоки.

Указанный буфер that очищается после этой операции. Это операция O(1).

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

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

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

Классы определения IterableOnceOps

Исходный код
def insert(idx: Int, elem: T): Unit

Исходный код
def insertAll(idx: Int, elems: IterableOnce[T]): Unit

Исходный код
override def iterableFactory: SeqFactory[UnrolledBuffer]

Классы определения Buffer -> Seq -> Iterable -> Seq -> Iterable -> IterableOps

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

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

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

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

Исходный код
def mapInPlace(f: T => T): UnrolledBuffer[T]

Исходный код
def patchInPlace(from: Int, patch: IterableOnce[T], replaced: Int): UnrolledBuffer[T]

Источник
def prepend(elem: T): UnrolledBuffer[T]

Источник
def remove(idx: Int): T

Источник@tailrec
final def remove(idx: Int, count: Int): Unit

Источник
def result(): UnrolledBuffer[T]

Источник
override def subtractOne(elem: T): UnrolledBuffer[T]

Классы-определения Буфер -> Сжимаемый

Источник
def update(idx: Int, newelem: T): Unit

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

Источник@inline
final def ++[B >: T](suffix: IterableOnce[B]): UnrolledBuffer[B]

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

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

Источник@inline
final override def ++:[B >: T](prefix: IterableOnce[B]): UnrolledBuffer[B]

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

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

Источник@inline
final def ++=(xs: IterableOnce[T]): UnrolledBuffer[T]

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

Наследованный из Growable

Источник@inline
final def ++=:(elems: IterableOnce[T]): UnrolledBuffer[T]

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

Наследованный из Буфер

Источник@inline
final def +:[B >: T](elem: B): UnrolledBuffer[B]

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

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

Источник@inline
final def +=(elem: T): UnrolledBuffer[T]

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

Наследованный из Growable

Источник@inline
final def +=:(elem: T): UnrolledBuffer[T]

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

Наследованный из Буфер

Источник@inline
final def --=(xs: IterableOnce[T]): UnrolledBuffer[T]

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

Наследованный из Сжимаемый

Источник@inline
final def -=(elem: T): UnrolledBuffer[T]

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

Наследованный из Сжимаемый

Источник@inline
final def :+[B >: T](elem: B): UnrolledBuffer[B]

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

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

Источник@inline
final def :++[B >: T](suffix: IterableOnce[B]): UnrolledBuffer[B]

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

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

Источник
def addAll(xs: IterableOnce[T]): UnrolledBuffer[T]

Добавляет все элементы, созданные IterableOnce, в эту коллекцию.

Параметры
xs

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

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

сама коллекция.

Наследованный из Growable

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

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

Пример:

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

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

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

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

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

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

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

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

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

Пример:

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

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

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

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

sep

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

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

строка-построитель b, в которую были добавлены элементы.

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

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

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

Пример:

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

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

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

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

end

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

sep

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

start

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

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

строка-построитель b, в которую были добавлены элементы.

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

Исходный код
def andThen[C](k: PartialFunction[T, C]): PartialFunction[Int, C]

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

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

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

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

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

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

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

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

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

Исходный код
override def andThen[C](k: T => C): PartialFunction[Int, C]

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

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

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

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

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

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

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

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

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

Исходный код@inline
final def append(elem: T): UnrolledBuffer[T]

Добавляет заданные элементы в этот буфер.

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

элемент для добавления.

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

Исходный код@inline
final def appendAll(xs: IterableOnce[T]): UnrolledBuffer[T]

Добавляет элементы, содержащиеся в итерируемом объекте, в этот буфер.

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

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

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

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

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

Исходный код
override def appendedAll[B >: T](suffix: IterableOnce[B]): UnrolledBuffer[B]

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

Исходный код
def applyOrElse[A1 <: Int, B1 >: T](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

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

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

Исходный код
override def collect[B](pf: PartialFunction[T, B]): UnrolledBuffer[B]

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

Исходный код
def collectFirst[B](pf: PartialFunction[T, B]): Option[B]

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

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

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

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

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

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

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

Пример

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

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

Исходный код
def combinations(n: Int): Iterator[UnrolledBuffer[T]]

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

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

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

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

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

Пример

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

функция A => T1

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

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

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

Исходный код@inline
final override def concat[B >: T](suffix: IterableOnce[B]): UnrolledBuffer[B]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

start

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

xs

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

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

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

Примечание

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

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

Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: T](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

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

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

Примечание

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

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

Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: T](xs: Array[B]): Int

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

that

другой набор

Возвращает

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

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

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Источник
def distinct: UnrolledBuffer[T]

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

Возвращает

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

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

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

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

Источник
def drop(n: Int): UnrolledBuffer[T]

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

Source
def dropInPlace(n: Int): UnrolledBuffer[T]

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

Source
override def dropRight(n: Int): UnrolledBuffer[T]

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

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

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

Source
def dropRightInPlace(n: Int): UnrolledBuffer[T]

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

Source
def dropWhile(p: T => Boolean): UnrolledBuffer[T]

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

Source
def dropWhileInPlace(p: T => Boolean): UnrolledBuffer[T]

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

Source
def elementWise: ElementWiseExtractor[Int, T]

Возвращает объект-экстрактор с методом 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

Source
override def empty: UnrolledBuffer[T]

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

Source
def endsWith[B >: T](that: Iterable[B]): Boolean

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

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

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

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

Возвращает

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

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

Source
override def equals(o: Any): Boolean

Definition Classes Seq -> Equals -> Any
Inherited from Seq

Source
def exists(p: T => Boolean): Boolean

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

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

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

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

Возвращает

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

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

Source
override def filter(pred: T => Boolean): UnrolledBuffer[T]

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

Source
override def filterNot(pred: T => Boolean): UnrolledBuffer[T]

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
override def flatMap[B](f: T => IterableOnce[B]): UnrolledBuffer[B]

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

Source
override def flatten[B](implicit toIterableOnce: T => IterableOnce[B]): UnrolledBuffer[B]

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

Source
def fold[A1 >: T](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
def foldLeft[B](z: B)(op: (B, T) => B): B

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
def foldRight[B](z: B)(op: (T, B) => B): B

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
def forall(p: T => Boolean): Boolean

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Исходный код
def groupMap[K, B](key: T => K)(f: T => B): Map[K, UnrolledBuffer[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: T => K)(f: T => 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[UnrolledBuffer[T]]

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

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

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

Возвращает

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

См. также

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код@deprecatedOverriding("Override indexOf(elem, from) instead - indexOf(elem) calls indexOf(elem, 0)", "2.13.0")
def indexOf[B >: T](elem: B): Int

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

from

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

Возвращает

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

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

Исходный код@deprecatedOverriding("Override indexOfSlice(that, from) instead - indexOfSlice(that) calls indexOfSlice(that, 0)", "2.13.0")
def indexOfSlice[B >: T](that: Seq[B]): Int

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

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

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

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

Возвращает

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

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

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

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

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

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

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

that

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

Возвращает

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

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

Source@deprecatedOverriding("Override indexWhere(p, from) instead - indexWhere(p) calls indexWhere(p, 0)", "2.13.0")
def indexWhere(p: T => Boolean): Int

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

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

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

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

Возвращает

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

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

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

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

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

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

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

p

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

Возвращает

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

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

Source
def indices: Range

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

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

Возвращает

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

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

Source
def init: UnrolledBuffer[T]

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

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

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

Source
def inits: Iterator[UnrolledBuffer[T]]

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

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

Возвращает

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

Пример

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

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

Source
override def intersect[B >: T](that: Seq[B]): UnrolledBuffer[T]

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

Source
def isDefinedAt(idx: Int): Boolean

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

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

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

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

Возвращает

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

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

Source
override def isEmpty: Boolean

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

Source
override def isTraversableAgain: Boolean

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

Source
def last: T

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

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

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

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

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

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

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

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

end

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

Возвращает

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

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

Source@deprecatedOverriding("Override lastIndexOfSlice(that, end) instead - lastIndexOfSlice(that) calls lastIndexOfSlice(that, Int.MaxValue)", "2.13.0")
def lastIndexOfSlice[B >: T](that: Seq[B]): Int

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

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

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

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

Возвращает

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

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

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

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

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

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

индекс конца

that

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

Возвращает

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

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

Source@deprecatedOverriding("Override lastIndexWhere(p, end) instead - lastIndexWhere(p) calls lastIndexWhere(p, Int.MaxValue)", "2.13.0")
def lastIndexWhere(p: T => Boolean): Int

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
def lastOption: Option[T]

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
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.

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

Source
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

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

Source@inline
final def lengthIs: SizeCompareOps

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

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

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

Source
def lift: Int => Option[T]

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

Возвращает

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

См. также

Function.unlift

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

Source
override def map[B](f: T => B): UnrolledBuffer[B]

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

Source
def mapResult[NewTo](f: UnrolledBuffer[T] => NewTo): Builder[T, NewTo]

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

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

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

Исходный код@deprecatedOverriding("nonEmpty определен как !isEmpty; переопределите isEmpty вместо этого", "2.13.0")
def nonEmpty: Boolean

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

Возвращает

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

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

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

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

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

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

B1

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

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

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

Возвращает

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

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

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

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

Исходный код
def padToInPlace(len: Int, elem: T): UnrolledBuffer[T]

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

Исходный код
override def partition(p: T => Boolean): (UnrolledBuffer[T], UnrolledBuffer[T])

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

Исходный код
override def partitionMap[A1, A2](f: T => Either[A1, A2]): (UnrolledBuffer[A1], UnrolledBuffer[A2])

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

Исходный код
def patch[B >: T](from: Int, other: IterableOnce[B], replaced: Int): UnrolledBuffer[B]

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

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

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

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

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

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

other

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

replaced

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

Возвращает

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

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

Исходный код
def permutations: Iterator[UnrolledBuffer[T]]

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

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

Возвращает

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

Пример

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

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

Исходный код
def prependAll(elems: IterableOnce[T]): UnrolledBuffer[T]

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Унаследовано от IterableOnceOps
Остальной перевод

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

Унаследовано от IterableOnceOps
Остальной перевод

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

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

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

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

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

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

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

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

Возвращает

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

Унаследовано от IterableOnceOps
Остальной перевод

Источник
def reverse: UnrolledBuffer[T]

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

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

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

class="attributes">
Возвращает

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

Унаследовано от SeqOps
Остальной перевод

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

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

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

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

class="attributes">
Возвращает

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

Унаследовано от SeqOps
Остальной перевод

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

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

Источник
def runWith[U](action: T => U): Int => Boolean

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

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

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

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

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

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

Возвращает

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

См. также

applyOrElse.

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

Источник
def sameElements[B >: T](that: IterableOnce[B]): Boolean

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

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

Source
def scan[B >: T](z: B)(op: (B, B) => B): UnrolledBuffer[B]

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
override def scanLeft[B](z: B)(op: (B, T) => B): UnrolledBuffer[B]

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

Source
def scanRight[B](z: B)(op: (T, B) => B): UnrolledBuffer[B]

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

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

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

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

Пример:

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

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

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

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

z

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

Возвращает

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

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

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

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

Source
def search[B >: T](elem: B)(implicit ord: Ordering[B]): SearchResult

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

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

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

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

ord

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

Возвращает

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

См. также

scala.collection.IndexedSeq

scala.math.Ordering

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

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

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

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

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

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

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

p

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
final override def size: Int

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

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

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

Source
final override def sizeCompare(otherSize: Int): Int

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

Source
final def sizeHint(coll: IterableOnce[_], delta: Int): Unit

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

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

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

delta

исправление, которое нужно добавить к coll.size для получения подсказки размера.

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

Источник
def sizeHint(size: Int): Unit

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

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

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

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

Источник
final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit

Указывает предположение о количестве элементов, которые будут добавлены при вызове следующей result, вместе с верхним пределом, заданным размером другого набора. Некоторые классы билдеров оптимизируют свою структуру на основе этого предположения. Однако реализации билдеров по-прежнему должны работать корректно, даже если предположение неверно, то есть добавлено другое количество элементов.

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

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

size

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

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

Источник@inline
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

Источник
def slice(from: Int, until: Int): UnrolledBuffer[T]

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

Источник
def sliceInPlace(start: Int, end: Int): UnrolledBuffer[T]

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

Источник
def sliding(size: Int, step: Int): Iterator[UnrolledBuffer[T]]

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

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

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

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

step

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

Возвращает

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

См. также

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

Пример

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

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

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

Источник
def sliding(size: Int): Iterator[UnrolledBuffer[T]]

Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разделения их на части, как это делается в 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: T => B)(implicit ord: Ordering[B]): UnrolledBuffer[T]

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

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

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

Сортировка стабильная. То есть элементы, равные (как определено 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: (T, T) => Boolean): UnrolledBuffer[T]

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

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

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

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

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

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

Возвращает

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

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

Источник
def sorted[B >: T](implicit ord: Ordering[B]): UnrolledBuffer[T]

Сортирует эту последовательность в соответствии с Ordering.

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

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

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

Возвращает

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

См. также

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

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

Источник
override def span(p: T => Boolean): (UnrolledBuffer[T], UnrolledBuffer[T])

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

Источник
override def splitAt(n: Int): (UnrolledBuffer[T], UnrolledBuffer[T])

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

Источник
def startsWith[B >: T](that: IterableOnce[B], offset: Int): Boolean

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

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

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

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

that

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

Возвращает

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

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

Источник
def stepper[S <: Stepper[_]](implicit shape: StepperShape[T, S]): S

Возвращает scala.collection.Stepper для элементов этого набора.

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

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

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

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

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

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

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

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

Источник
def subtractAll(xs: IterableOnce[T]): UnrolledBuffer[T]

Удаляет все элементы, создаваемые итератором, из этой сжимаемой коллекции.

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

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

Возвращает

саму сжимаемую коллекцию

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

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

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

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

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

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

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

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def tail: UnrolledBuffer[T]

Остальная часть коллекции без её первого элемента.

Унаследовано от IterableOps

Источник
def tails: Iterator[UnrolledBuffer[T]]

Итерируется по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результаты последовательных применений tail.

Возвращает

итератор по всем хвостам этой итерируемой коллекции

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

Унаследовано от IterableOps

Источник
def take(n: Int): UnrolledBuffer[T]

Унаследовано от IterableOps

Источник
def takeInPlace(n: Int): UnrolledBuffer[T]

Унаследовано от Buffer

Источник
override def takeRight(n: Int): UnrolledBuffer[T]

Коллекция, содержащая последние n элементы этой коллекции.

Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно создавать элементы.

Классы определения StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
def takeRightInPlace(n: Int): UnrolledBuffer[T]

Унаследовано от Buffer

Источник
def takeWhile(p: T => Boolean): UnrolledBuffer[T]

Берёт самую длинную префиксную последовательность элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.

Параметры значения
p

Предикат для проверки элементов.

Возвращает

самый длинный префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату p.

Унаследовано от IterableOps

Источник
def takeWhileInPlace(p: T => Boolean): UnrolledBuffer[T]

Унаследовано от Buffer

Исходный код
override def tapEach[U](f: T => U): UnrolledBuffer[T]

Классы-определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Исходный код
def to[C1](factory: Factory[T, C1]): C1

Используя фабрику коллекций factory, преобразовать эту коллекцию в соответствующее представление для текущего типа элементов A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Исходный код
def toArray[B >: T : ClassTag]: Array[B]

Преобразовать коллекцию в массив.

Примечание к реализации: НЕ вызывать Array.from из этого метода.

Унаследовано от IterableOnceOps

Исходный код@inline
final def toBuffer[B >: T]: Buffer[B]

Унаследовано от IterableOnceOps

Исходный код
def toIndexedSeq: IndexedSeq[T]

Унаследовано от IterableOnceOps

Исходный код
def toList: List[T]

Унаследовано от IterableOnceOps

Исходный код
def toMap[K, V](implicit ev: T <:< (K, V)): Map[K, V]

Унаследовано от IterableOnceOps

Исходный код
def toSeq: Seq[T]

Возвращает

Эту коллекцию в виде Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Унаследовано от IterableOnceOps

Исходный код
def toSet[B >: T]: Set[B]

Унаследовано от IterableOnceOps

Исходный код
override def toString(): String

Классы-определения Seq -> Function1 -> Iterable -> Any
Унаследовано от Seq

Исходный код
def toVector: Vector[T]

Унаследовано от IterableOnceOps

Исходный код
def transpose[B](implicit asIterable: T => Iterable[B]): UnrolledBuffer[UnrolledBuffer[B]]

Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.

Тип возвращаемой коллекции будет определяться статическим типом итерируемой коллекции. Например:

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.

Параметры типа
B

тип элементов каждой итерируемой коллекции.

Параметры значения
asIterable

неявное преобразование, которое утверждает, что тип элемента этой итерируемой коллекции является Iterable.

Возвращает

двумерная итерируемая коллекция итерируемых коллекций, в которой n-я строка содержит n-й столбец этой итерируемой коллекции.

Исключения
IllegalArgumentException

если все коллекции в этой итерируемой коллекции не имеют одинаковый размер.

Унаследовано от IterableOps

Исходный код
def unapply(a: Int): Option[T]

Попытка извлечь B из A в выражении сопоставления с образцом.

Унаследовано от PartialFunction

Исходный код
override def unzip[A1, A2](implicit asPair: T => (A1, A2)): (UnrolledBuffer[A1], UnrolledBuffer[A2])

Классы-определения StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Исходный код
override def unzip3[A1, A2, A3](implicit asTriple: T => (A1, A2, A3)): (UnrolledBuffer[A1], UnrolledBuffer[A2], UnrolledBuffer[A3])

Классы-определения StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Исходный код
def updated[B >: T](index: Int, elem: B): UnrolledBuffer[B]

Копия этого последовательности с заменой одного элемента.

Параметры типа
B

тип элемента возвращаемой последовательности.

Параметры значения
elem

элемент для замены

index

позиция замены

Возвращает

новая последовательность, являющаяся копией этой последовательности с элементом на позиции index замененным на elem.

Исключения
IndexOutOfBoundsException

если index не удовлетворяет 0 <= index < length. В случае ленивой коллекции это исключение может быть выброшено позже или вообще не выброшено (если конец коллекции никогда не оценивается).

Унаследовано от SeqOps

Исходный код
override def view: SeqView[T]

Классы-определения SeqOps -> IterableOps
Унаследовано от SeqOps

Source
def withFilter(p: T => Boolean): WithFilter[T, UnrolledBuffer]

Создаёт нестрогий фильтр этого итерируемого набора.

Примечание: Разница между c filter p и c withFilter p заключается в том, что первый создаёт новый набор, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого итерируемого набора, которые удовлетворяют предикату p.

Унаследовано от IterableOps

Source
override def zip[B](that: IterableOnce[B]): UnrolledBuffer[(T, B)]

Классы определений StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Source
def zipAll[A1 >: T, B](that: Iterable[B], thisElem: A1, thatElem: B): UnrolledBuffer[(A1, B)]

Возвращает итерируемый набор, сформированный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов парами. Если один из двух наборов короче другого, элементы-заполнители используются для расширения более короткого набора до длины более длинного.

Параметры значения
that

итерируемый набор, предоставляющий вторую половину каждой пары результатов

thatElem

элемент, который будет использоваться для заполнения результата, если that короче этого итерируемого набора.

thisElem

элемент, который будет использоваться для заполнения результата, если этот итерируемый набор короче that.

Возвращает

новый набор типа That, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и that. Длина возвращаемого набора — это максимум из длин этого итерируемого набора и that. Если этот итерируемый набор короче that, значения thisElem используются для заполнения результата. Если that короче этого итерируемого набора, значения thatElem используются для заполнения результата.

Унаследовано от IterableOps

Source
override def zipWithIndex: UnrolledBuffer[(T, Int)]

Классы определений StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Неявные параметры

Source
implicit val tag: ClassTag[T]

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/mutable/UnrolledBuffer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API