Spec-Zone.ru › Scala 2.12 Library

Trait scala.collection.parallel.Combiner

trait Combiner[-Elem, +To] extends Builder[Elem, To] with Sizing with Parallel

Базовый интерфейс для всех комбинируемых объектов. Комбинер — это объектно-ориентированная структура для инкрементального построения коллекций, аналогичная обычным билдерам, но также реализующая эффективную операцию слияния двух билдеров через метод combine. После построения коллекции её можно получить, вызвав метод result.

Сложность метода combine должна быть меньше линейной для наилучшей производительности. Метод result не обязан быть операцией постоянного времени, но может выполняться параллельно.

Elem

тип элементов, добавляемых в билдер

To

тип коллекции, производимой билдером

Source
Combiner.scala
Since

2.9

Линейные супертипы
Известные подклассы

Члены-значения абстрактного типа

abstract def +=(elem: Elem): Combiner.this.type

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

elem

элемент, который нужно добавить.

returns

сам билдер.

Definition Classes
Builder → Growable

abstract def clear(): Unit

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

Definition Classes
Builder → Growable → Clearable

abstract def combine[N <: Elem, NewTo >: To](other: Combiner[N, NewTo]): Combiner[N, NewTo]

Объединяет содержимое билдера-получателя и билдера other, создавая новый билдер, содержащий оба их элемента.

Этот метод может объединить два билдера, скопировав их в большую коллекцию, создав ленивый вид, который вычисляется один раз, когда result вызывается, или использовать операцию слияния, специфичную для данной структуры данных.

Обратите внимание, что как билдер-получатель, так и билдер other становятся недействительными после вызова этого метода и должны быть очищены (см. clear) если они будут использоваться снова.

Также объединение двух комбинаторов c1 и c2, для которых c1 eq c2 равняется true, то есть они являются одними и теми же объектами в памяти:

c1.combine(c2)

всегда ничего не делает и возвращает c1.

N

тип элементов, содержащихся в билдере other

NewTo

тип коллекции, производимой билдером other

other

другой билдер

returns

параллельный билдер, содержащий оба элемента этого и билдера other

abstract def result(): To

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

returns

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

Definition Classes
Builder

abstract def size: Int

Definition Classes
Sizing

Члены-значения

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

Неявный
Этот член добавлен неявным преобразованием из Combiner[Elem, To] в any2stringadd[Combiner[Elem, To]] с помощью метода any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ++=(xs: TraversableOnce[Elem]): Combiner.this.type

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

xs

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

возвращает

изменяемую коллекцию.

Определяющие классы
Growable

def +=(elem1: Elem, elem2: Elem, elems: Elem*): Combiner.this.type

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

elem1

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

elem2

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

elems

Остальные добавляемые элементы.

возвращает

изменяемую коллекцию

Определяющие классы
Growable

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

Неявный
Этот член добавлен с помощью неявного преобразования из Combiner[Elem, To] в ArrowAssoc[Combiner[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

val _combinerTaskSupport: TaskSupport

Аннотации
@transient() @volatile()

final def asInstanceOf[T0]: T0

Преобразует объект-получатель к типу T0.

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

возвращает

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

Определяющие классы
Any
Исключения

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

def canBeShared: Boolean

Возвращает true , если у этого комбинирующего объекта есть потокобезопасный += и он должен использоваться несколькими потоками при построении коллекции.

По умолчанию этот метод возвращает false.

def clone(): AnyRef

Создать копию объекта-приемника.

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

returns

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

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

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

def combinerTaskSupport: TaskSupport

def combinerTaskSupport_=(cts: TaskSupport): Unit

def ensuring(cond: (Combiner[Elem, To]) ⇒ Boolean, msg: ⇒ Any): Combiner[Elem, To]

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

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

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

def ensuring(cond: Boolean, msg: ⇒ Any): Combiner[Elem, To]

Неявный
Этот член добавлен с помощью неявного преобразования из Combiner[Elem, To] в Ensuring[Combiner[Elem, To]], выполненное методом Ensuring в scala.Predef.
Классы определений
Ensuring

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

Неявный
Этот член добавлен с помощью неявного преобразования из Combiner[Elem, To] в Ensuring[Combiner[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).

Неявный
Этот член добавлен неявным преобразованием из Combiner[Elem, To] в StringFormat[Combiner[Elem, To]] с помощью метода StringFormat в scala.Predef.
Определяющие классы
StringFormat
Аннотации
@inline()

final def getClass(): Class[_]

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

возвращает

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

Определяющие классы
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

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

возвращает

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

Определяющие классы
AnyRef → Any
Аннотации
@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 mapResult[NewTo](f: (To) ⇒ NewTo): Builder[Elem, NewTo]

Создаёт новый билдер, применяя функцию преобразования к результатам этого билдера.

NewTo

тип коллекции, возвращаемой f.

f

функция преобразования.

returns

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

Definition Classes
Builder
Примечание

Оригинальный билдер больше не должен использоваться после вызова mapResult.

final def ne(arg0: AnyRef): Boolean

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

returns

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

Definition Classes
AnyRef

final def notify(): Unit

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

Definition Classes
AnyRef
Аннотации
@native()
Примечание

не определено в SLS как член AnyRef

final def notifyAll(): Unit

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

Definition Classes
AnyRef
Аннотации
@native()
Примечание

не определено в SLS как член AnyRef

def resultWithTaskSupport: To

def sizeHint(coll: TraversableLike[_, _], delta: Int): Unit

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

coll

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

delta

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

Definition Classes
Builder

def sizeHint(coll: TraversableLike[_, _]): Unit

Даёт подсказку, что ожидается, что размер этого билдера будет таким же, как размер заданного набора данных, плюс некоторая величина. Эта подсказка будет предоставлена только в том случае, если известно, что у набора данных есть быстрый метод size, что определяется вызовом sizeHint.

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

coll

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

Definition Classes
Builder

def sizeHint(size: Int): Unit

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

size

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

Definition Classes
Builder

def sizeHintBounded(size: Int, boundingColl: TraversableLike[_, _]): Unit

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

size

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

boundingColl

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

Definition Classes
Builder

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

def toParArray: ParArray[T]

Неявный
Этот член добавлен с помощью неявного преобразования из Combiner[Elem, To] в CollectionsHaveToParArray[Combiner[Elem, To], T] с помощью метода CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только в том случае, если в области видимости имеется неявное значение типа (Combiner[Elem, To]) ⇒ GenTraversableOnce[T].
Определяющие классы
CollectionsHaveToParArray

def toString(): String

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

возвращает

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

Определяющие классы
AnyRef → Any

final def wait(): Unit

Определяющие классы
AnyRef
Аннотации
@throws( ... )

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

Определяющие классы
AnyRef
Аннотации
@throws( ... )

final def wait(arg0: Long): Unit

Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()

def →[B](y: B): (Combiner[Elem, To], B)

Неявный
Этот член добавлен с помощью неявного преобразования из Combiner[Elem, To] в ArrowAssoc[Combiner[Elem, To]] с помощью метода ArrowAssoc в scala.Predef.
Определяющие классы
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/parallel/Combiner.html

Spec-Zone.ru

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