Trait scala.collection.parallel.Combiner
trait Combiner[-Elem, +To] extends Builder[Elem, To] with Sizing with Parallel
Члены-значения абстрактного типа
abstract def +=(elem: Elem): Combiner.this.type
Добавляет один элемент в билдер.
- elem
элемент, который нужно добавить.
- returns
сам билдер.
abstract def clear(): Unit
Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.
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
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
копию объекта-приемника.
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[_]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
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
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
Базовый интерфейс для всех комбинируемых объектов. Комбинер — это объектно-ориентированная структура для инкрементального построения коллекций, аналогичная обычным билдерам, но также реализующая эффективную операцию слияния двух билдеров через метод
combine. После построения коллекции её можно получить, вызвав методresult.Сложность метода
combineдолжна быть меньше линейной для наилучшей производительности. Методresultне обязан быть операцией постоянного времени, но может выполняться параллельно.тип элементов, добавляемых в билдер
тип коллекции, производимой билдером
2.9