Spec-Zone.ru › Scala 3.2

Класс ArrayBuilder.ArrayBuilder

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

sealed abstract class ArrayBuilder[T] extends ReusableBuilder[T, Массив[T]] with Serializable

Класс-строитель для массивов.

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

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

Супертипы
интерфейс Serializable
интерфейс ReusableBuilder[T, Массив[T]]
интерфейс Builder[T, Массив[T]]
интерфейс Growable[T]
интерфейс Clearable
класс Object
интерфейс Matchable
класс Any
Известные подтипы
класс ofBoolean
класс ofByte
класс ofChar
класс ofDouble
класс ofFloat
класс ofInt
класс ofLong
класс ofRef[T]
класс ofShort
класс ofUnit

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

Исходный код
def addAll(xs: Массив[_ <: T]): ArrayBuilder.this.type

Добавление всех элементов массива

Исходный код
def addAll(xs: Массив[_ <: T], offset: Целое, length: Целое): ArrayBuilder.this.type

Добавление части массива

Исходный код
override def addAll(xs: IterableOnce[T]): ArrayBuilder.this.type

Добавляет все элементы из IterableOnce в это изменяемое множество.

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

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

Возвращает

изменяемое множество.

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

Исходный код
def clear(): Единица

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

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

Исходный код
override def knownSize: Целое

Возвращает

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

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

Исходный код
def length: Целое

Исходный код
final override def sizeHint(size: Целое): Единица

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

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

подсказка о том, сколько элементов будет добавлено.

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

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

Исходный код
final def ++=(xs: IterableOnce[T]): Growable.this.type

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

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

Исходный код
final def +=(elem: T): Growable.this.type

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

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

Исходный код
def addOne(elem: T): Growable.this.type

Добавляет один элемент в это изменяемое множество.

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

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

Возвращает

изменяемое множество.

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

Исходный код
def mapResult[NewTo](f: Массив[T] => NewTo): Builder[A, NewTo]

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

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

Исходный код
override def result(): To

Создает коллекцию из добавленных элементов.

После вызова result, поведение всех других методов неопределено, за исключением clear(). Если вызывается clear(), строитель сбрасывается и может быть использован для построения другого экземпляра.

Возвращает

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

Классы определения ReusableBuilder -> Builder
Наследован от ReusableBuilder

Исходный код
final def sizeHint(coll: IterableOnce[_], delta: Целое): Единица

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

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

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

delta

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

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

Исходный код
final def sizeHintBounded(size: Целое, boundingColl: Iterable[_]): Единица

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

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

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

размер

подсказка о том, сколько элементов будет добавлено.

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

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/mutable/ArrayBuilder.html

Spec-Zone.ru

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