Spec-Zone.ru › Scala 2.13 Library

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

trait ReusableBuilder[-Elem, +To] extends Builder[Elem, To]

ReusableBuilder — это маркерный трейт, который указывает, что Builder может быть повторно использован для построения более чем одного экземпляра коллекции. В частности, вызов result(), за которым следует вызов clear() создаст коллекцию и сбросит билдер, чтобы начать построение новой коллекции того же типа.

В общем случае, после вызова result() нельзя вызывать другие методы, кроме clear(). Подклассы должны реализовывать и документировать другие разрешённые последовательности операций (например, вызов других методов после result() для получения различных снимков строящейся коллекции).

Elem

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

To

тип коллекции, которая будет создана.

Source
ReusableBuilder.scala
Since

2.12

Линейные супертипы
Builder[Elem, To], Growable[Elem], Clearable, AnyRef, Any
Известные подклассы
VectorBuilder, AnyRefMapBuilder, ArrayBuilder, ofBoolean, ofByte, ofChar, ofDouble, ofFloat, ofInt, ofLong, ofRef, ofShort, ofUnit, ImmutableBuilder, ListBuffer, LongMapBuilder, StringBuilder

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

abstract def addOne(elem: Elem): ReusableBuilder.this.type

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

elem

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

returns

изменяемая коллекция сама по себе

Definition Classes
Growable

abstract def clear(): Unit

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

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

Definition Classes
ReusableBuilder → Builder → Clearable

abstract def result(): To

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

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

returns

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

Definition Classes
ReusableBuilder → Builder

Члены конкретных значений

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true если !(this == that), в противном случае false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает хеш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## для каждого из них вернёт одно и то же хеш-значение. Для null возвращает хеш-код, где null.hashCode выбрасывает NullPointerException.

returns

хеш-значение, согласованное с ==

Definition Classes
AnyRef → Any

def +(other: String): String

Implicit
Этот член добавлен неявным преобразованием из ReusableBuilder[Elem, To] в any2stringadd[ReusableBuilder[Elem, To]], выполненным методом any2stringadd в scala.Predef.
Definition Classes
any2stringadd

final def ++=(xs: IterableOnce[Elem]): ReusableBuilder.this.type

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

Definition Classes
Growable
Annotations
@inline()

final def +=(elem: Elem): ReusableBuilder.this.type

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

Definition Classes
Growable
Annotations
@inline()

def ->[B](y: B): (ReusableBuilder[Elem, To], B)

Implicit
Этот член добавлен неявным преобразованием из ReusableBuilder[Elem, To] в ArrowAssoc[ReusableBuilder[Elem, To]] с помощью метода ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Annotations
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

returns

true если объект-приёмник эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

def addAll(xs: IterableOnce[Elem]): ReusableBuilder.this.type

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

xs

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

returns

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

Definition Classes
Growable

final def asInstanceOf[T0]: T0

Приведение типа объекта-приёмника к типу T0.

Обратите внимание, что успешность приведения типов во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, из-за стирания аргумента типа во время компиляции невозможно проверить, являются ли элементы списка требуемого типа.

returns

объект-приёмник.

Definition Classes
Any
Exceptions thrown

ClassCastException, если объект-приёмник не является экземпляром стирания типа T0.

def clone(): AnyRef

Создать копию объекта-получателя.

Реализация метода clone по умолчанию зависит от платформы.

returns

копия объекта-получателя.

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Note

не указано в SLS как член AnyRef

def ensuring(cond: (ReusableBuilder[Elem, To]) => Boolean, msg: => Any): ReusableBuilder[Elem, To]

Implicit
Этот член добавляется неявным преобразованием из ReusableBuilder[Elem, To] в Ensuring[ReusableBuilder[Elem, To]] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (ReusableBuilder[Elem, To]) => Boolean): ReusableBuilder[Elem, To]

Implicit
Этот член добавляется неявным преобразованием из ReusableBuilder[Elem, To] в Ensuring[ReusableBuilder[Elem, To]] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: => Any): ReusableBuilder[Elem, To]

Implicit
Этот член добавляется неявным преобразованием из ReusableBuilder[Elem, To] в Ensuring[ReusableBuilder[Elem, To]] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean): ReusableBuilder[Elem, To]

Implicit
Этот член добавляется неявным преобразованием из ReusableBuilder[Elem, To] в Ensuring[ReusableBuilder[Elem, To]] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности для не-нулевых экземпляров AnyRef, и обладает тремя дополнительными свойствами:

    Он согласован: для любых не-нулевых экземпляров x и y типа AnyRef, множественные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-нулевого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode, важно убедиться, что их поведение согласовано с равенством ссылок. Таким образом, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и иметь одинаковое хэш-значение (o1.hashCode == o2.hashCode).

returns

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

def equals(arg0: AnyRef): Boolean

Метод сравнения для ссылочных типов. Реализация по умолчанию делегирует вызов eq.

См. также equals в scala.Any.

returns

true если объект-получатель эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда на него больше нет ссылок.

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

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])
Note

не указано SLS в качестве члена AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Формат строк соответствует String.format (см. java.lang.String.format).

Неявный
Этот член добавляется неявным преобразованием из ReusableBuilder[Elem, To] в StringFormat[ReusableBuilder[Elem, To]] при помощи метода StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

final def getClass(): Class[_ <: AnyRef]

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

returns

объект класса, соответствующий типу получателя во время выполнения.

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат проверки модулирован семантикой стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания типа аргумента во время компиляции, невозможно проверить, являются ли элементы списка указанного типа.

returns

true если объект-получатель является экземпляром стирания типа T0; false в противном случае.

Definition Classes
Any

def knownSize: Int

returns

Количество элементов в создаваемом наборе, если его можно вычислить с минимальными затратами, иначе -1. Реализация по умолчанию всегда возвращает -1.

Definition Classes
Growable

def mapResult[NewTo](f: (To) => NewTo): Builder[Elem, NewTo]

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

Definition Classes
Builder

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

final def notify(): Unit

Разбудит единственную нить, ожидающую монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не указано SLS в качестве члена AnyRef

final def notifyAll(): Unit

Разбуживает все потоки, ожидающие монитора объекта-получателя.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указано в SLS как член AnyRef

final def sizeHint(coll: IterableOnce[_], delta: Int = 0): Unit

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

coll

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

delta

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

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

def sizeHint(size: Int): Unit

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

size

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

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

final def sizeHintBounded(size: Int, boundingColl: collection.Iterable[_]): Unit

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

size

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

boundingColl

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

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

final def synchronized[T0](arg0: => T0): T0

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

def toString(): String

Создает строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Классы-определения
AnyRef → Any

final def wait(): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException]) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/collection/mutable/ReusableBuilder.html

Spec-Zone.ru

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