Трейт scala.collection.mutable.Builder
trait Builder[-Elem, +To] extends Growable[Elem]
Абстрактные члены-значения
abstract def +=(elem: Elem): Builder.this.type
Добавляет один элемент в билдер.
- elem
элемент, который нужно добавить.
- returns
сам билдер.
abstract def clear(): Unit
Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.
abstract def result(): To
Создаёт коллекцию из добавленных элементов. Это терминальная операция: содержимое билдера не определено после этой операции, и больше никаких методов вызывать нельзя.
- returns
коллекция, содержащая элементы, добавленные в этот билдер.
Члены конкретных значений
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
trueесли !(this == that), иначе false.
- Определяющие классы
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых значений возвращает хеш-значение, согласованное с равенством значений: если два экземпляра типов значений сравниваются как true, то ## будет генерировать одинаковое хеш-значение для каждого из них. Для null возвращает хеш-код, где null.hashCode вызывает NullPointerException.
- возвращает
хеш-значение, согласованное с ==
- Определяющие классы
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из Builder[Elem, To] в any2stringadd[Builder[Elem, To]] с помощью метода any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ++=(xs: TraversableOnce[Elem]): Builder.this.type
Добавляет все элементы, полученные от TraversableOnce, в это изменяемое множество.
- xs
TraversableOnce, производящий элементы для добавления.
- возвращает
само изменяемое множество.
- Определяющие классы
- Growable
def +=(elem1: Elem, elem2: Elem, elems: Elem*): Builder.this.type
Добавляет два или более элементов в это изменяемое множество.
- elem1
первый добавляемый элемент.
- elem2
второй добавляемый элемент.
- elems
остальные добавляемые элементы.
- возвращает
само изменяемое множество
- Определяющие классы
- Growable
def ->[B](y: B): (Builder[Elem, To], B)
- Неявный
- Этот член добавлен неявным преобразованием из Builder[Elem, To] в ArrowAssoc[Builder[Elem, To]] с помощью метода ArrowAssoc в scala.Predef.
- Определяющие классы
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- AnyRef → Any
final def asInstanceOf[T0]: T0
Преобразует объект-получатель к типу T0.
Обратите внимание, что успех приведения типов во время выполнения зависит от правил стирания типов в Scala. Таким образом, выражение 1.asInstanceOf[String] вызовет ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не вызовет исключения. В последнем примере, поскольку аргумент типа стирается при компиляции, невозможно проверить, соответствуют ли элементы списка запрошенному типу.
- возвращает
объект-получатель.
- Определяющие классы
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стирания типаT0.
def clone(): AnyRef
def ensuring(cond: (Builder[Elem, To]) ⇒ Boolean, msg: ⇒ Any): Builder[Elem, To]
- Неявный
- Этот член добавлен с помощью неявного преобразования из Builder[Elem, To] в Ensuring[Builder[Elem, To]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Builder[Elem, To]) ⇒ Boolean): Builder[Elem, To]
- Неявный
- Этот член добавлен с помощью неявного преобразования из Builder[Elem, To] в Ensuring[Builder[Elem, To]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): Builder[Elem, To]
- Неявный
- Этот член добавлен с помощью неявного преобразования из Builder[Elem, To] в Ensuring[Builder[Elem, To]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Builder[Elem, To]
- Неявный
- Этот член добавлен с помощью неявного преобразования из Builder[Elem, To] в Ensuring[Builder[Elem, To]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- 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).
- возвращает
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Определяющие классы
- AnyRef
def equals(arg0: Any): Boolean
Метод равенства для ссылочных типов. По умолчанию делегирует eq.
См. также equals в scala.Any.
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- AnyRef → Any
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда на объект больше нет ссылок.
Подробности о том, когда и будет ли вызван метод finalize, а также взаимодействии между finalize и нелокальными возвратами и исключениями, зависят от платформы.
- Атрибуты
- protected[lang]
- Определяющие классы
- AnyRef
- Аннотации
- @throws( classOf[java.lang.Throwable] )
- Примечание
не специфицировано SLS как член AnyRef
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной format строкой. Формат строк аналогичен String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавлен неявно путем преобразования из Builder[Elem, To] в StringFormat[Builder[Elem, To]] с помощью метода StringFormat в scala.Predef.
- Классы по определению
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- возвращает
значение хеш-кода для этого объекта.
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки зависит от стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернет true. В последнем примере, из-за стирания типа аргумента во время компиляции невозможно проверить, относятся ли элементы списка к указанному типу.
- возвращает
trueесли объект-получатель является экземпляром стирания типаT0;falseв противном случае.
- Классы по определению
- Any
def mapResult[NewTo](f: (To) ⇒ NewTo): Builder[Elem, NewTo]
Создает новый билдер, применяя функцию преобразования к результатам этого билдера.
- NewTo
тип коллекции, возвращаемой
f.- f
функция преобразования.
- возвращает
новый билдер, который такой же, как текущий билдер, за исключением того, что к результату этого билдера применяется функция преобразования.
- Примечание
Исходный билдер больше не должен использоваться после вызова
mapResult.
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- возвращает
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Классы по определению
- AnyRef
final def notify(): Unit
Разбуживает одну нить, ожидающую монитора объекта-получателя.
- Классы по определению
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS в качестве члена AnyRef
final def notifyAll(): Unit
Разбуживает все нити, ожидающие монитора объекта-получателя.
- Классы по определению
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS в качестве члена AnyRef
def sizeHint(coll: TraversableLike[_, _], delta: Int): Unit
Подсказка о том, что ожидается, что размер result этого билдера будет таким же, как и заданной коллекции, плюс некоторое значение delta. Это будет подсказка только в том случае, если известно, что у коллекции есть быстрый метод size. В настоящее время так считается только если коллекция типа IndexedSeqLike. Некоторые классы билдеров оптимизируют свое представление на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, то есть добавляется другое количество элементов.
- coll
коллекция, которая служит подсказкой для размера результата.
- delta
поправка, добавляемая к
coll.sizeдля получения подсказки размера.
def sizeHint(coll: TraversableLike[_, _]): Unit
Подсказка о том, что ожидается, что размер result этого билдера будет таким же, как и заданной коллекции, плюс некоторое значение delta. Это будет подсказка только в том случае, если известно, что у коллекции есть быстрый метод size , который определяется с помощью вызова sizeHint.
Некоторые классы билдеров оптимизируют свое представление на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, то есть добавляется другое количество элементов.
- coll
коллекция, которая служит подсказкой для размера результата.
def sizeHint(size: Int): Unit
Подсказка о том, сколько элементов ожидается добавить при вызове следующего result. Некоторые классы билдеров оптимизируют свое представление на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, то есть добавляется другое количество элементов.
- size
подсказка о том, сколько элементов будет добавлено.
def sizeHintBounded(size: Int, boundingColl: TraversableLike[_, _]): Unit
Указывает, сколько элементов ожидается добавить при следующем вызове result, вместе с верхним пределом, заданным размером другой коллекции. Некоторые классы билдеров оптимизируют своё представление на основе подсказки. Однако реализации билдеров всё равно должны работать правильно, даже если подсказка неверна, т.е. добавлено другое количество элементов.
- size
подсказка о том, сколько элементов будет добавлено.
- boundingColl
ограничивающая коллекция. Если это IndexedSeqLike, то размеры, превышающие размер коллекции, уменьшаются.
final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
def toString(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- returns
строковое представление объекта.
- Definition Classes
- AnyRef → Any
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long): Unit
def →[B](y: B): (Builder[Elem, To], B)
- Implicit
- Этот член добавлен неявным преобразованием из Builder[Elem, To] в ArrowAssoc[Builder[Elem, To]] с помощью метода ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/mutable/Builder.html
Базовый трейт всех билдеров. Билдер позволяет построить коллекцию по частям, добавляя элементы к билдеру с помощью
+=и затем преобразуя в требуемый тип коллекции с помощьюresult.Нельзя предполагать, что один
Builderможет построить более одного экземпляра желаемой коллекции. Определенные подклассы могут допускать такое поведение. В противном случае,resultследует рассматривать как терминальную операцию: после её вызова больше никаких методов к билдеру вызывать нельзя. Для билдеров, которые могут быть повторно использованы для построения нескольких экземпляров, следует расширить трейт collection.mutable.ReusableBuilder, а неBuilder.тип элементов, которые добавляются в билдер.
тип коллекции, которая будет получена.
2.8