Spec-Zone.ru › Scala 3.2

Trait Builder.Builder

Исходный код

trait Builder[-A, +To] extends Growable[A]

Базовый трайт для коллекций-билдеров.

После вызова result() поведение билдера (который не является также scala.collection.mutable.ReusableBuilder) не определено. Больше методов вызывать нельзя. Часто мутабельные коллекции являются собственными непереиспользуемыми билдерами, в этом случае result() просто возвращает this.

См. также

scala.collection.mutable.ReusableBuilder для билдеров, которые можно переиспользовать после вызова result()

Надтипы
трайт Growable[A]
трайт Clearable
класс Object
трайт Matchable
класс Any
Известные подтипы
56 типов
класс Builder[K, V]
класс GrowableBuilder[Elem, To]
трайт MapOps[K, V, CC, C]
класс TrieMap[K, V]
класс AnyRefMap[K, V]
класс CollisionProofHashMap[K, V]
класс HashMap[K, V]
класс LinkedHashMap[K, V]
класс ListMap[K, V]
класс LongMap[V]
трайт Map[K, V]
трайт Map[K, V]
класс AbstractMap[K, V]
класс WithDefault[K, V]
класс WithDefault[K, V]
класс OpenHashMap[Key, Value]
класс TreeMap[K, V]
класс SystemProperties
трайт MultiMap[K, V]
трайт SeqMap[K, V]
трайт SortedMap[K, V]
трайт SortedMapOps[K, V, CC, C]
класс PriorityQueue[A]
трайт ReusableBuilder[Elem, To]
класс VectorBuilder[A]
класс AnyRefMapBuilder[K, V]
класс ArrayBuilder[T]
класс ofBoolean
класс ofByte
класс ofChar
класс ofDouble
класс ofFloat
класс ofInt
класс ofLong
класс ofRef[T]
класс ofShort
класс ofUnit
класс ImmutableBuilder[A, C]
класс ListBuffer[A]
класс LongMapBuilder[V]
класс StringBuilder
трайт SetOps[A, CC, C]
класс HashSet[A]
класс LinkedHashSet[A]
трайт Set[A]
класс AbstractSet[A]
класс BitSet
класс TreeSet[A]
трайт SortedSet[A]
трайт SortedSetOps[A, CC, C]
класс UnrolledBuffer[T]
класс Accumulator[A, CC, C]
класс AnyAccumulator[A]
класс DoubleAccumulator
класс IntAccumulator
класс LongAccumulator
Тип self
Builder[A, To]

Абстрактные методы

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

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

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

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

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

Исходный код
def mapResult[NewTo](f: To => NewTo): Builder[A, NewTo]

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

Исходный код
def sizeHint(size: Int): Unit

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

Параметры
size

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

Исходный код
final def sizeHint(coll: IterableOnce[_], delta: Int): Unit

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

Параметры
coll

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

delta

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

Исходный код
final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit

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

Параметры
boundingColl

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

size

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

сам изменяемый коллектор.

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

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

Добавляет один элемент в этот изменяемый коллектор.

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

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

Возвращает

сам изменяемый коллектор.

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

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

Возвращает

Количество элементов в собираемом коллекторе, если его можно вычислить с небольшой затратой, иначе — -1. По умолчанию всегда возвращает -1.

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

© 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/Builder.html

Spec-Zone.ru

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