Spec-Zone.ru › Scala 3.1

Трейт scala.collection.mutable.Builder

Исходный код

Трейт 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
Тип самого себя
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

поправка, добавляемая к coll.size для получения подсказки размера.

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

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

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

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

size

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

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

Исходный код@inline
final def ++=(xs: IterableOnce[A]): Builder[A, To]

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

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

Исходный код@inline
final def +=(elem: A): Builder[A, To]

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

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

Исходный код
def addAll(xs: IterableOnce[A]): Builder[A, To]

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

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

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

Возвращает

сам изменяемый набор.

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

Исходный код
def addOne(elem: A): Builder[A, To]

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

Параметры значения
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.1.1/scala/collection/mutable/Builder.html

Spec-Zone.ru

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