Класс scala.collection.parallel.immutable.ParHashSet
Компонент объект ParHashSet
класс ParHashSet[T] extends ParSet[T] with GenericParTemplate[T, ParHashSet] with ParSetLike[T, ParHashSet[T], HashSet[T]] with Serializable
Конструкторы экземпляров
новый ParHashSet()
Члены типа
трайт Accessor[R, Tp] extends StrictSplitterCheckTask[R, Tp]
Стандартная задача доступа, которая итерирует по элементам коллекции.
- R
тип результата этого метода (
Rдля результата).- Tp
тип представления текущей задачи.
- Атрибуты
- protected
- Определяющие классы
- ParIterableLike
класс Aggregate[S] extends Accessor[S, Aggregate[S]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
трайт BuilderOps[Elem, To] extends AnyRef
- Определяющие классы
- ParIterableLike
класс Collect[S, That] extends Transformer[Combiner[S, That], Collect[S, That]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
абстрактный класс Composite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends NonDivisibleTask[R, Composite[FR, SR, R, First, Second]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
класс Copy[U >: T, That] extends Transformer[Combiner[U, That], Copy[U, That]]
- Атрибуты
- protected
- Определяющие классы
- ParIterableLike
класс CopyToArray[U >: T, This >: Repr] extends Accessor[Unit, CopyToArray[U, This]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
класс Count extends Accessor[Int, Count]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
класс CreateScanTree[U >: T] extends Transformer[ScanTree[U], CreateScanTree[U]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
класс Drop[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Drop[U, This]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Exists extends Accessor[Boolean, Exists]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Filter[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Filter[U, This]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс FilterNot[U >: T, This >: Repr] extends Transformer[Combiner[U, This], FilterNot[U, This]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Find[U >: T] extends Accessor[Option[U], Find[U]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс FlatMap[S, That] extends Transformer[Combiner[S, That], FlatMap[S, That]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Fold[U >: T] extends Accessor[U, Fold[U]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Forall extends Accessor[Boolean, Forall]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Foreach[S] extends Accessor[Unit, Foreach[S]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс FromScanTree[U >: T, That] extends StrictSplitterCheckTask[Combiner[U, That], FromScanTree[U, That]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс GroupBy[K, U >: T] extends Transformer[HashMapCombiner[K, U], GroupBy[K, U]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Map[S, That] extends Transformer[Combiner[S, That], Map[S, That]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Max[U >: T] extends Accessor[Option[U], Max[U]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Min[U >: T] extends Accessor[Option[U], Min[U]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
трайт NonDivisible[R] extends NonDivisibleTask[R, NonDivisible[R]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
трайт NonDivisibleTask[R, Tp] extends StrictSplitterCheckTask[R, Tp]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
абстрактный класс ParComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends Composite[FR, SR, R, First, Second]
Выполняет две задачи параллельно и ожидает завершения обеих.
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Partition[U >: T, This >: Repr] extends Преобразователь[(Комбинатор[U, This], Комбинатор[U, This]), Разбиение[U, This]]
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
класс Произведение[U >: T] extends Доступ[U, Произведение[U]]
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
класс Сведение[U >: T] extends Доступ[Опция[U], Сведение[U]]
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
абстрактный класс СопоставлениеРезультата[R, Tp, R1] extends ЗадачаНеделимая[R1, СопоставлениеРезультата[R, Tp, R1]]
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
служебный класс ЛистСканирования[U >: T](pit: РазделительИтераций[U], op: (U, U) ⇒ U, from: Целое, len: Целое, prev: Опция[ЛистСканирования[U]], acc: U) extends ДеревоСканирования[U] with scala.Product with Serializable
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
служебный класс УзелСканирования[U >: T](left: ДеревоСканирования[U], right: ДеревоСканирования[U]) extends ДеревоСканирования[U] with scala.Product with Serializable
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
тракт ДеревоСканирования[U >: T] extends scala.AnyRef
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
abstract class SeqComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends Composite[FR, SR, R, First, Second]
Последовательно выполняет одну задачу за другой.
- Attributes
- protected[this]
- Definition Classes
- ParIterableLike
trait SignallingOps[PI <: DelegatedSignalling] extends AnyRef
- Definition Classes
- ParIterableLike
class Slice[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Slice[U, This]]
- Attributes
- protected[this]
- Definition Classes
- ParIterableLike
class Span[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), Span[U, This]]
- Attributes
- protected[this]
- Definition Classes
- ParIterableLike
class SplitAt[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), SplitAt[U, This]]
- Attributes
- protected[this]
- Definition Classes
- ParIterableLike
trait StrictSplitterCheckTask[R, Tp] extends Task[R, Tp]
- Attributes
- protected
- Definition Classes
- ParIterableLike
class Sum[U >: T] extends Accessor[U, Sum[U]]
- Attributes
- protected[this]
- Definition Classes
- ParIterableLike
class Take[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Take[U, This]]
- Attributes
- protected[this]
- Definition Classes
- ParIterableLike
класс TakeWhile[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Boolean), TakeWhile[U, This]]
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
трайт TaskOps[R, Tp] extends AnyRef
- Классы определений
- ParIterableLike
класс ToParCollection[U >: T, That] extends Transformer[Combiner[U, That], ToParCollection[U, That]]
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
класс ToParMap[K, V, That] extends Transformer[Combiner[(K, V), That], ToParMap[K, V, That]]
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
трайт Transformer[R, Tp] extends Accessor[R, Tp]
- Атрибуты
- protected
- Классы определений
- ParIterableLike
класс Zip[U >: T, S, That] extends Transformer[Combiner[(U, S), That], Zip[U, S, That]]
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
класс ZipAll[U >: T, S, That] extends Transformer[Combiner[(U, S), That], ZipAll[U, S, That]]
- Атрибуты
- protected[this]
- Классы определений
- ParIterableLike
класс ParHashSetIterator extends IterableSplitter[T]
тип SSCTask[R, Tp] = StrictSplitterCheckTask[R, Tp]
- Классы определений
- ParIterableLike
Члены-значения
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 &(that: GenSet[T]): ParHashSet[T]
Вычисляет пересечение этого множества и другого множества.
Примечание: То же, что и intersect.
- that
множество для пересечения.
- returns
новое множество, состоящее из всех элементов, которые находятся как в этом множестве, так и в заданном множестве
that.
- Definition Classes
- GenSetLike
def &~(that: GenSet[T]): ParHashSet[T]
Разность этого множества и другого множества.
Примечание: То же, что и diff.
- that
множество элементов, которые нужно исключить.
- returns
множество, содержащее элементы этого множества, которые не содержатся также в данном множестве
that.
- Definition Classes
- GenSetLike
def +(e: T): ParHashSet[T]
- Definition Classes
- ParHashSet → GenSetLike
def ++[U >: T, That](that: GenTraversableOnce[U])(implicit bf: CanBuildFrom[ParHashSet[T], U, That]): That
Возвращает новое параллельное итерируемое, содержащее элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента параллельного итерируемого — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
- That
класс возвращаемого набора. Где возможно,
That— это тот же класс, что и текущий класс коллекцииRepr, но это зависит от типа элементаBбыть допустимым для этого класса, что означает, что найден неявно заданный экземпляр типаCanBuildFrom[Repr, B, That].- that
итерируемый для добавления.
- bf
явное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
новая коллекция типа
That, которая содержит все элементы этого параллельного итерируемого, за которыми следуют все элементыthat.
- Definition Classes
- ParIterableLike → GenTraversableLike
def -(e: T): ParHashSet[T]
- Definition Classes
- ParHashSet → GenSetLike
def ->[B](y: B): (ParHashSet[T], B)
- Неявный
- Этот член добавлен неявным преобразованием из ParHashSet[T] в ArrowAssoc[ParHashSet[T]], выполненное методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
def /:[S](z: S)(op: (S, T) ⇒ S): S
Применяет бинарный оператор к начальному значению и всем элементам этого параллельного итерируемого объекта, слева направо.
Примечание: /: — альтернативная синтаксическая конструкция для foldLeft; z /: xs эквивалентно xs foldLeft z.
Примеры:
Обратите внимание, что функция свёртки, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (5 /: a)(_+_) b: Int = 15 scala> val c = (5 /: a)((x,y) => x + y) c: Int = 15
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого параллельного итерируемого объекта, слева направо, с начальным значениемzслева:op(...op(op(z, x_1), x_2), ..., x_n)
где
x1, ..., xn— элементы этого параллельного итерируемого объекта.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def :\[S](z: S)(op: (T, S) ⇒ S): S
Применяет бинарный оператор ко всем элементам этого параллельного итерируемого объекта и начальному значению, справа налево.
Примечание: :\ — альтернативная синтаксическая конструкция для foldRight; xs :\ z эквивалентно xs foldRight z.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
Примеры:
Обратите внимание, что функция свёртки, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (a :\ 5)(_+_) b: Int = 15 scala> val c = (a :\ 5)((x,y) => x + y) c: Int = 15
- z
начальное значение
- op
бинарный оператор
- returns
-
результат вставки
opмежду последовательными элементами этого параллельного итерируемого объекта, справа налево, с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого параллельного итерируемого объекта.
- Definition Classes
- ParIterableLike → GenTraversableOnce
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 aggregate[S](z: ⇒ S)(seqop: (S, T) ⇒ S, combop: (S, S) ⇒ S): S
Агрегирует результаты применения оператора к последующим элементам.
Это обобщённая форма fold и reduce. Она имеет аналогичную семантику, но не требует, чтобы результат был супертипом типа элемента. Она перебирает элементы в разных разделах последовательно, используя seqop для обновления результата, а затем применяет combop к результатам из разных разделов. Реализация этой операции может работать с произвольным количеством разделов коллекции, поэтому combop может вызываться произвольное количество раз.
Например, можно обработать некоторые элементы и затем получить Set. В этом случае seqop обработает элемент и добавит его в множество, а combop объединит два множества из разных разделов. Начальное значение z будет пустым множеством.
pc.aggregate(Set[Int]())(_ += process(_), _ ++ _)
Ещё один пример — вычисление геометрического среднего из коллекции вещественных чисел (обычно для этого нужны большие вещественные числа).
- S
тип аккумулированных результатов
- z
начальное значение для аккумулированного результата раздела — это обычно нейтральный элемент для оператора
seqop(например,Nilдля конкатенации списков или0для суммирования) и может быть вычислено более одного раза- seqop
оператор, используемый для аккумулирования результатов в пределах раздела
- combop
ассоциативный оператор, используемый для объединения результатов из разных разделов
- Definition Classes
- ParIterableLike → GenTraversableOnce
def andThen[A](g: (Boolean) ⇒ A): (T) ⇒ A
Компонует две функции Function1 в новую Function1, при этом эта функция применяется первой.
- A
тип результата функции
g- g
функция R => A
- returns
новая функция
fтакая, чтоf(x) == g(apply(x))
- Definition Classes
- Function1
- Annotations
- @unspecialized()
def apply(elem: T): Boolean
Проверяет, содержится ли некоторый элемент в этом множестве.
Этот метод эквивалентен contains. Он позволяет интерпретировать множества как предикаты.
- elem
элемент, который нужно проверить на принадлежность.
- returns
trueеслиelemсодержится в этом множестве,falseв противном случае.
- Definition Classes
- GenSetLike → Function1
final def asInstanceOf[T0]: T0
Преобразовать объект-получатель в тип T0.
Обратите внимание, что успешность приведения типов во время выполнения зависит от правил стирания Scala. Таким образом, выражение 1.asInstanceOf[String] вызовет ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере из-за стирания аргумента типа во время компиляции невозможно проверить, относятся ли элементы списка к требуемому типу.
- returns
объект-получатель.
- Definition Classes
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стираемого типаT0.
def bf2seq[S, That](bf: CanBuildFrom[ParHashSet[T], S, That]): CanBuildFrom[HashSet[T], S, That]
- Атрибуты
- protected[this]
- Definition Classes
- ParIterableLike
implicit def builder2ops[Elem, To](cb: Builder[Elem, To]): BuilderOps[Elem, To]
- Атрибуты
- protected
- Definition Classes
- ParIterableLike
def canEqual(other: Any): Boolean
- Definition Classes
- ParIterableLike
def clone(): AnyRef
Создать копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта-получателя.
def collect[B](pf: PartialFunction[A, B]): ParHashSet[B]
Создает новую коллекцию, применяя частичную функцию ко всем элементам этого неизменяемого параллельного хэша, для которых функция определена.
- B
тип элементов возвращаемой коллекции.
- pf
частичная функция, которая фильтрует и отображает неизменяемый параллельный хэш.
- returns
новая неизменяемая параллельная коллекция, полученная путем применения заданной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Definition Classes
- ParIterableLike → GenTraversableLike
def combinerFactory[S, That](cbf: () ⇒ Combiner[S, That]): CombinerFactory[S, That]
- Атрибуты
- protected[this]
- Definition Classes
- ParIterableLike
def combinerFactory: CombinerFactory[T, ParHashSet[T]]
Создает фабрику комбинирования. Каждый экземпляр фабрики комбинирования используется один раз при вызове метода параллельного преобразования для одного набора коллекций.
По умолчанию фабрика комбинирования создает новый комбиниратор каждый раз, запрашивается, если комбиниратор не потокобезопасный, как указано его методом canBeShared. В этом случае метод возвращает фабрику, возвращающую тот же комбиниратор каждый раз. Это обычно делается для параллельных коллекций с одновременным доступом, комбинирующие которых позволяют потокобезопасный доступ.
- Атрибуты
- protected[this]
- Definition Classes
- ParIterableLike
def companion: GenericCompanion[ParHashSet] with GenericParCompanion[ParHashSet]
Объект-компаньон фабрики, создающий экземпляры класса immutable.ParHashSet. (или его Iterable суперкласса, где класс immutable.ParHashSet не является Seq.)
- Определяющие классы
- ParHashSet → ParSet → ParIterable → ParSet → ParIterable → GenericParTemplate → GenSet → GenIterable → GenTraversable → GenericTraversableTemplate
def compose[A](g: (A) ⇒ T): (A) ⇒ Boolean
Композирует два экземпляра Function1 в новый Function1, при этом эта функция применяется последней.
- A
тип, к которому можно применить функцию
g- g
функция A => T1
- возвращает
новая функция
f, такая чтоf(x) == apply(g(x))
- Определяющие классы
- Function1
- Аннотации
- @unspecialized()
def contains(e: T): Boolean
- Определяющие классы
- ParHashSet → GenSetLike
def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует элементы этого неизменяемого параллельного множества хэш в массив. Заполняет заданный массив xs не более чем len элементами этого неизменяемого параллельного множества хэш, начиная с позиции start. Копирование прекращается, когда достигается конец текущего неизменяемого параллельного множества хэш, или конец целевого массива, или когда было скопировано len элементов.
Примечание: не будет завершаться для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество копируемых элементов.
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этого неизменяемого параллельного множества хэш в массив. Заполняет заданный массив xs значениями этого неизменяемого параллельного множества хэш, начиная с индекса start. Копирование прекращается, когда достигается конец текущего неизменяемого параллельного множества хэш или конец целевого массива.
Примечание: не будет завершаться для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этого неизменяемого параллельного множества хэш в массив. Заполняет заданный массив xs значениями этого неизменяемого параллельного множества хэш. Копирование прекращается, когда достигается конец текущего неизменяемого параллельного множества хэш или конец целевого массива.
Примечание: не будет завершаться для коллекций бесконечного размера.
- xs
массив для заполнения.
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def count(p: (T) ⇒ Boolean): Int
Подсчитывает количество элементов в параллельной коллекции, которые удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- возвращает
количество элементов, удовлетворяющих предикату
p.
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def debugBuffer: ArrayBuffer[String]
- Определяющие классы
- ParIterableLike
implicit def delegatedSignalling2ops[PI <: DelegatedSignalling](it: PI): SignallingOps[PI]
- Атрибуты
- protected
- Определяющие классы
- ParIterableLike
def diff(that: GenSet[T]): ParHashSet[T]
Вычисляет разность этого множества и другого множества.
- that
множество элементов, которые нужно исключить.
- returns
множество, содержащее те элементы этого множества, которые также не содержатся в заданном множестве
that.
- Definition Classes
- ParSetLike → GenSetLike
def drop(n: Int): ParHashSet[T]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
количество элементов, которые нужно удалить из этого параллельного итерируемого объекта.
- returns
параллельный итерируемый объект, состоящий из всех элементов этого параллельного итерируемого объекта, кроме первых
nэлементов, или же пустой параллельный итерируемый объект, если у этого параллельного итерируемого объекта меньшеnэлементов. Еслиnотрицательно, элементы не удаляются.
- Definition Classes
- ParIterableLike → GenTraversableLike
def dropWhile(pred: (T) ⇒ Boolean): ParHashSet[T]
Оставляет все элементы, кроме самого длинного префикса элементов, удовлетворяющих предикату, и возвращает коллекцию, состоящую из оставшихся элементов.
Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что сепараторы могут устанавливать и читать indexFlag состояние. Флаг индекса изначально устанавливается в максимальное целое значение.
- pred
предикат, используемый для проверки элементов
- returns
коллекция, составленная из всех элементов после самого длинного префикса элементов в этом параллельном итерируемом объекте, которые удовлетворяют предикату
pred
- Definition Classes
- ParIterableLike → GenTraversableLike
def empty: ParHashSet[T]
- Definition Classes
- ParHashSet → ParSet → ParSet → ParSetLike → GenericSetTemplate
def ensuring(cond: (ParHashSet[T]) ⇒ Boolean, msg: ⇒ Any): ParHashSet[T]
- Implicit
- Этот член добавлен неявным преобразованием из ParHashSet[T] в Ensuring[ParHashSet[T]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (ParHashSet[T]) ⇒ Boolean): ParHashSet[T]
- Implicit
- Этот член добавлен неявным преобразованием из ParHashSet[T] в Ensuring[ParHashSet[T]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): ParHashSet[T]
- Implicit
- Этот член добавлен неявным преобразованием из ParHashSet[T] в Ensuring[ParHashSet[T]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): ParHashSet[T]
- Implicit
- Этот член добавлен неявным преобразованием из ParHashSet[T] в Ensuring[ParHashSet[T]] с помощью метода 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в противном случае.
- Определяющие классы
- AnyRef
def equals(that: Any): Boolean
Сравнивает это множество с другим объектом на равенство.
Примечание: Эта операция содержит неявное приведение типов: если that является множеством, она будет предполагать с неявным приведением типов, что оно имеет тот же тип элементов, что и это множество. Любое последующее исключение ClassCastException обрабатывается как результат false.
- that
другой объект
- returns
trueеслиthatявляется множеством, которое содержит те же элементы, что и это множество.
- Определяющие классы
- GenSetLike → Equals → AnyRef → Any
def exists(p: (T) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для некоторого элемента этой параллельной итерируемой сущности.
Этот метод будет использовать возможности сигнализации abort. Это означает, что разделители могут отправлять и читать сигналы abort.
- p
предикат, используемый для проверки элементов
- returns
true, если
pвыполняется для некоторого элемента, false в противном случае
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def filter(pred: (T) ⇒ Boolean): ParHashSet[T]
Выбирает все элементы этой параллельной итерируемой сущности, которые удовлетворяют предикату.
- pred
предикат, используемый для проверки элементов.
- returns
новая параллельная итерируемая сущность, состоящая из всех элементов этой параллельной итерируемой сущности, которые удовлетворяют заданному предикату
p. Их порядок может не сохраняться.
- Определяющие классы
- ParIterableLike → GenTraversableLike
def filterNot(pred: (T) ⇒ Boolean): ParHashSet[T]
Выбирает все элементы этой параллельной итерируемой сущности, которые не удовлетворяют предикату.
- pred
предикат, используемый для проверки элементов.
- returns
новая параллельная итерируемая сущность, состоящая из всех элементов этой параллельной итерируемой сущности, которые не удовлетворяют заданному предикату
p. Их порядок может не сохраняться.
- Определяющие классы
- ParIterableLike → GenTraversableLike
def finalize(): Unit
Вызывается сборщиком мусора для принимающего объекта, когда больше нет ссылок на объект.
Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
- Атрибуты
- protected[lang]
- Определяющие классы
- AnyRef
- Аннотации
- @throws( classOf[java.lang.Throwable] )
- Примечание
не указано в SLS как член AnyRef
def find(p: (T) ⇒ Boolean): Option[T]
Находит некоторый элемент в коллекции, для которого выполняется предикат, если такой элемент существует. Элемент не обязательно должен быть первым таким элементом в порядке итерации.
Если существует несколько элементов, удовлетворяющих предикату, выбор является недетерминированным.
Этот метод будет использовать возможности сигнализации abort. Это означает, что разделители могут отправлять и читать сигналы abort.
- p
предикат, используемый для проверки элементов
- returns
необязательное значение с элементом, если такой элемент существует, или
Noneв противном случае
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): ParHashSet[B]
Создаёт новую коллекцию, применяя функцию ко всем элементам этого неизменяемого параллельного множества хешей и используя элементы полученных коллекций.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующей коллекции определяется статическим типом неизменяемого параллельного множества хешей. Это иногда может приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap (word => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
- B
тип элементов возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- returns
новое неизменяемое параллельное множество хешей, полученное путём применения заданной функции, возвращающей коллекцию
fк каждому элементу этого неизменяемого параллельного множества хешей и конкатенации результатов.
- Definition Classes
- ParIterableLike → GenTraversableLike
def flatten[B]: ParHashSet[B]
Преобразует это неизменяемое параллельное множество хешей коллекций перебираемых объектов в неизменяемое параллельное множество хешей, образованное элементами этих коллекций перебираемых объектов.
Тип результирующей коллекции будет определяться статическим типом неизменяемого параллельного множества хешей. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
- B
тип элементов каждой коллекции перебираемых объектов.
- returns
новое неизменяемое параллельное множество хешей, полученное путём конкатенации всех элементов неизменяемых параллельных множеств хешей.
- Definition Classes
- GenericTraversableTemplate
def fold[U >: T](z: U)(op: (U, U) ⇒ U): U
Вычисляет результирующее значение элементов последовательности с помощью заданного ассоциативного бинарного оператора. Порядок, в котором элементы суммируются, не определён и может быть не детерминированным.
Обратите внимание, что сигнатура этого метода отличается от сигнатур методов foldLeft и foldRight в трайте Traversable. Результат сворачивания может быть только супертипом параметра типа этой параллельной коллекции T.
- U
параметр типа для бинарного оператора, являющийся супертипом
T.- z
нейтральный элемент для операции сворачивания, он может добавляться к результату произвольное число раз, не изменяя результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора сворачивания
opмежду всеми элементами иz
- Definition Classes
- ParIterableLike → GenTraversableOnce
def foldLeft[S](z: S)(op: (S, T) ⇒ S): S
Применяет бинарный оператор к начальному значению и всем элементам этого параллельного итерируемого объекта, слева направо.
Примечание: для бесконечных коллекций не завершится.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого параллельного итерируемого объекта, слева направо со стартовым значениемzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xn— элементы этого параллельного итерируемого объекта. Возвращаетzесли это параллельное итерируемое множество пустое.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def foldRight[S](z: S)(op: (T, S) ⇒ S): S
Применяет бинарный оператор ко всем элементам этого параллельного итерируемого объекта и начальному значению, справа налево.
Примечание: для бесконечных коллекций не завершится.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого параллельного итерируемого объекта, справа налево со стартовым значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого параллельного итерируемого объекта. Возвращаетzесли это параллельное итерируемое множество пустое.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def forall(p: (T) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этого параллельного итерируемого объекта.
Этот метод будет использовать abort возможности сигнализации. Это означает, что разделители могут отправлять и читать abort сигналы.
- p
предикат, используемый для проверки элементов.
- returns
true, если
pвыполняется для всех элементов, иначе false.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def foreach[U](f: (T) ⇒ U): Unit
Применяет функцию f ко всем элементам параллельного итерируемого объекта в неопределенном порядке.
- U
тип результата функции, применённой к каждому элементу, который всегда отбрасывается
- f
функция, применяемая к каждому элементу
- Definition Classes
- ParIterableLike → GenTraversableLike → GenTraversableOnce
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки аналогичны String.format (@see java.lang.String.format).
- Implicit
- Этот член добавлен неявным преобразованием из ParHashSet[T] в StringFormat[ParHashSet[T]] с помощью метода StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
def genericBuilder[B]: Combiner[B, ParHashSet[B]]
Обобщённый билдер, который создаёт экземпляры Traversable для произвольных типов элементов.
- Definition Classes
- GenericParTemplate → GenericTraversableTemplate
def genericCombiner[B]: Combiner[B, ParHashSet[B]]
- Definition Classes
- GenericParTemplate
final def getClass(): Class[_]
Возвращает представление класса во время выполнения объекта.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def groupBy[K](f: (T) ⇒ K): ParMap[K, ParHashSet[T]]
Разделяет этот параллельный итерируемый объект на карту параллельных итерируемых объектов в соответствии с функцией-дискриминатором.
Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда будет принудительно пересчитывать представление и возвращать новый параллельный итерируемый объект.
- K
тип ключей, возвращаемых функцией-дискриминатором.
- f
функция-дискриминатор.
- возвращает
-
Карта, отображающая ключи на параллельные итерируемые объекты, при этом выполняется следующее инвариантное условие:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kпривязан к параллельному итерируемому объекту тех элементовxдля которыхf(x)равноk.
- Definition Classes
- ParIterableLike → GenTraversableLike
def hasDefiniteSize: Boolean
Проверяет, известен ли размер этого параллельного итерируемого объекта как конечный. Все строгие коллекции известны как имеющие конечный размер. Для нестрогой коллекции, такой как Stream, предикат возвращает true если все элементы были вычислены. Он возвращает false если поток ещё не был просмотрен до конца. Непустые итераторы обычно возвращают false даже если они были созданы из коллекции с известным конечным размером.
Примечание: многие методы коллекции не будут работать с коллекциями бесконечных размеров. Типичный режим отказа — бесконечный цикл. Эти методы всегда пытаются осуществить обход без предварительной проверки того, что hasDefiniteSize возвращает true. Однако проверка hasDefiniteSize может гарантировать, что размер определён и не возникает проблем с бесконечным выполнением.
- возвращает
trueесли эта коллекция известна как имеющая конечный размер,falseв противном случае.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def hashCode(): Int
Метод hashCode для типов ссылок. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
- Definition Classes
- GenSetLike → AnyRef → Any
def head: T
Выбирает первый элемент этого параллельного итерируемого объекта.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
первый элемент этого параллельного итерируемого объекта.
- Definition Classes
- ParIterableLike → GenTraversableLike
- Исключения
NoSuchElementException, если параллельный итерируемый объект пуст.
def headOption: Option[T]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
первый элемент этого параллельного итерируемого объекта, если он непустой,
Noneесли он пустой.
- Классы-определения
- ParIterableLike → GenTraversableLike
def init: ParHashSet[T]
Выбирает все элементы, кроме последнего.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
параллельный итерируемый объект, состоящий из всех элементов этого параллельного итерируемого объекта, кроме последнего.
- Классы-определения
- ParIterableLike → GenTraversableLike
- Исключения
UnsupportedOperationExceptionесли параллельный итерируемый объект пустой.
def initTaskSupport(): Unit
- Атрибуты
- protected
- Классы-определения
- ParIterableLike
def intersect(that: GenSet[T]): ParHashSet[T]
Вычисляет пересечение между этим множеством и другим множеством.
- that
множество, с которым нужно выполнить пересечение.
- возвращает
новое множество, состоящее из всех элементов, которые присутствуют как в этом множестве, так и в заданном множестве
that.
- Классы-определения
- GenSetLike
def isEmpty: Boolean
Проверяет, пуст ли параллельный итерируемый объект.
Примечание: Реализации в подклассах, которые не являются многократно итерируемыми, должны позаботиться о том, чтобы не использовать никаких элементов, когда isEmpty вызывается.
- возвращает
trueесли параллельный итерируемый объект не содержит элементов,falseв противном случае.
- Классы-определения
- ParIterableLike → GenTraversableOnce
final def isInstanceOf[T0]: Boolean
Проверка, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки соответствует семантике стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, так как тип аргумента стирается на этапе компиляции, проверить, соответствуют ли содержимое списка указанному типу, невозможно.
- возвращает
trueесли объект-получатель является экземпляром стирания типаT0;falseв противном случае.
- Классы-определения
- Any
def isStrictSplitterCollection: Boolean
Указывает, имеет ли эта параллельная коллекция строгие разделы.
Это верно в общем случае, и конкретные экземпляры коллекций могут переопределять этот метод. Такие коллекции не смогут выполнить методы, которые полагаются на то, что разделы являются строгими, т. е. возвращают правильное значение в методе remaining.
Этот метод помогает гарантировать, что такие ошибки произойдут при вызове методов, а не позже и непредсказуемым образом.
- Классы-определения
- ParIterableLike
final def isTraversableAgain: Boolean
Проверка, может ли этот параллельный итерируемый объект быть многократно проходом.
- возвращает
true
- Классы-определения
- ParIterableLike → GenTraversableLike → GenTraversableOnce
def iterator: Splitter[T]
Создаёт новый итератор разделения для прохода по элементам этой коллекции.
По умолчанию этот метод реализован через защищённый метод splitter.
- возвращает
итератор разделения
- Классы-определения
- ParIterableLike → GenIterableLike
def last: T
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
Последний элемент этого параллельного итерируемого объекта.
- Классы-определения
- ParIterableLike → GenTraversableLike
- Исключения
NoSuchElementExceptionЕсли параллельный итерируемый объект пустой.
def lastOption: Option[T]
Необязательно выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
последний элемент этого параллельного итерируемого объекта, если он непустой,
Noneесли он пустой.
- Классы-определения
- ParIterableLike → GenTraversableLike
def map[B](f: (A) ⇒ B): ParHashSet[B]
Строит новую коллекцию, применяя функцию ко всем элементам этого неизменяемого параллельного хэш-множества.
- B
тип элементов возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- returns
новое неизменяемое параллельное хэш-множество, полученное в результате применения данной функции
fк каждому элементу этого неизменяемого параллельного хэш-множества и сбора результатов.
- Definition Classes
- ParIterableLike → GenTraversableLike
def max: A
Находит наибольший элемент.
- returns
наибольший элемент этого неизменяемого параллельного хэш-множества.
- Definition Classes
- ParIterableLike → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли это неизменяемое параллельное хэш-множество пустое.
def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
первый элемент этого неизменяемого параллельного хэш-множества с наибольшим значением, измеренным функцией f.
- Definition Classes
- ParIterableLike → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли это неизменяемое параллельное хэш-множество пустое.
def min: A
Находит наименьший элемент.
- returns
наименьший элемент этого неизменяемого параллельного хэш-множества
- Definition Classes
- ParIterableLike → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли это неизменяемое параллельное хэш-множество пустое.
def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
первый элемент этого неизменяемого параллельного хэш-множества с наименьшим значением, измеренным функцией f.
- Definition Classes
- ParIterableLike → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли это неизменяемое параллельное хэш-множество пустое.
def mkString: String
Отображает все элементы этого параллельного итерируемого объекта в строке.
- returns
строковое представление этого параллельного итерируемого объекта. В результирующей строке строковые представления (с точки зрения метода
toString) всех элементов этого параллельного итерируемого объекта следуют друг за другом без разделителя.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def mkString(sep: String): String
Отображает все элементы этого параллельного итерируемого объекта в строке с использованием разделителя.
- sep
строка разделителя.
- returns
строковое представление этого параллельного итерируемого объекта. В результирующей строке строковые представления (с точки зрения метода
toString) всех элементов этого параллельного итерируемого объекта разделяются строкойsep.
- Definition Classes
- ParIterableLike → GenTraversableOnce
List(1, 2, 3).mkString("|") = "1|2|3"
def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого параллельного итерируемого объекта в строке с использованием начальной, конечной и разделительных строк.
- start
начальная строка.
- sep
строка разделителя.
- end
конечная строка.
- returns
строковое представление этого параллельного итерируемого объекта. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (с точки зрения методаtoString) всех элементов этого параллельного итерируемого объекта разделяются строкойsep.
- Definition Classes
- ParIterableLike → GenTraversableOnce
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
final def ne(arg0: AnyRef): Boolean
Равносильно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-приёмник;falseв противном случае.
- Definition Classes
- AnyRef
def newBuilder: Builder[T, ParHashSet[T]]
Построитель, создающий экземпляры типа Traversable[A]
- Attributes
- protected[this]
- Definition Classes
- GenericParTemplate → GenericTraversableTemplate → HasNewBuilder
def newCombiner: Combiner[T, ParHashSet[T]]
- Attributes
- protected[this]
- Definition Classes
- GenericParTemplate → HasNewCombiner
def nonEmpty: Boolean
Проверяет, не является ли параллельное итерируемое множество пустым.
- returns
trueесли параллельное итерируемое множество содержит по крайней мере один элемент,falseв противном случае.
- Definition Classes
- ParIterableLike → GenTraversableOnce
final def notify(): Unit
Разбуждает единственную нить, ожидающую монитора объекта-приёмника.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не определён в SLS как член AnyRef
final def notifyAll(): Unit
Разбуждает все нити, ожидающие монитора объекта-приёмника.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не определён в SLS как член AnyRef
def par: ParHashSet[T]
Возвращает параллельное выполнение этой коллекции.
Для большинства типов коллекций этот метод создаёт новую параллельную коллекцию, копируя все элементы. Для этих коллекций par занимает линейное время. Изменяемые коллекции в этой категории не создают изменяемую параллельную коллекцию, которая имеет то же основание данных, поэтому изменения в одной коллекции не будут отражены в другой.
Специфические коллекции (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельную коллекцию, которая использует те же основанные данные. Для этих коллекций par занимает постоянное или сублинейное время.
Все параллельные коллекции возвращают ссылку на себя.
- returns
параллельное выполнение этой коллекции
- Definition Classes
- ParIterableLike → CustomParallelizable → Parallelizable
def parCombiner: Combiner[T, ParHashSet[T]]
Реализация по умолчанию par использует комбинировщик, предоставленный этим методом, для создания новой параллельной коллекции.
- returns
комбинировщик для параллельной коллекции типа
ParRepr
- Attributes
- protected[this]
- Definition Classes
- CustomParallelizable → Parallelizable
def partition(pred: (T) ⇒ Boolean): (ParHashSet[T], ParHashSet[T])
Разделяет это параллельное итерируемое множество на два параллельных итерируемых множества в соответствии с предикатом.
- pred
предикат, на основе которого разделять.
- returns
пара параллельных итерируемых множеств: первое параллельное множество состоит из всех элементов, которые удовлетворяют предикату
p, а второе параллельное множество состоит из всех элементов, которые не удовлетворяют ему. Относительный порядок элементов в результирующих параллельных итерируемых множествах может не сохраняться.
- Definition Classes
- ParIterableLike → GenTraversableLike
def product: A
Перемножает элементы этой коллекции.
- returns
произведение всех элементов в этом неизменяемом параллельном наборе хешей чисел типа
Int. ВместоInt, любой другой типTс неявнойNumeric[T]реализацией может использоваться в качестве типа элемента неизменяемого параллельного набора хешей и в качестве типа результатаproduct. Примерами таких типов являются:Long,Float,Double,BigInt.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def reduce[U >: T](op: (U, U) ⇒ U): U
Сводит элементы этой последовательности, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Обратите внимание, что у этого метода другой сигнатура, чем у методов reduceLeft и reduceRight трейта Traversable. Результат сведения может быть только супертипом параметра типа этого параллельного набора T.
- U
Параметр типа для бинарного оператора, являющийся супертипом
T.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора сведения
opмежду всеми элементами, если коллекция непуста.
- Definition Classes
- ParIterableLike → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationException, если этот параллельный итерируемый набор пуст.
def reduceLeft[U >: T](op: (U, T) ⇒ U): U
- Definition Classes
- ParIterableLike
def reduceLeftOption[U >: T](op: (U, T) ⇒ U): Option[U]
Опционально применяет бинарный оператор ко всем элементам этого параллельного итерируемого набора, слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
- op
бинарный оператор.
- returns
значение типа Option, содержащее результат
reduceLeft(op), если этот параллельный итерируемый набор непустой,Noneв противном случае.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def reduceOption[U >: T](op: (U, U) ⇒ U): Option[U]
Опционально сводит элементы этой последовательности, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Обратите внимание, что у этого метода другой сигнатура, чем у методов reduceLeftOption и reduceRightOption трейта Traversable. Результат сведения может быть только супертипом параметра типа этого параллельного набора T.
- U
Параметр типа для бинарного оператора, являющийся супертипом
T.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Значение типа Option, содержащее результат применения оператора сведения
opмежду всеми элементами, если коллекция непуста, иNoneв противном случае.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def reduceRight[U >: T](op: (T, U) ⇒ U): U
Применяет бинарный оператор ко всем элементам этого параллельного итерируемого набора, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого параллельного итерируемого набора, справа налево:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))где
x1, ..., xn— элементы этого параллельного итерируемого набора.
- Definition Classes
- ParIterableLike → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationException, если этот параллельный итерируемый набор пуст.
def reduceRightOption[U >: T](op: (T, U) ⇒ U): Option[U]
Опционально применяет бинарный оператор ко всем элементам этого параллельного итерируемого набора, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
- op
бинарный оператор.
- returns
значение типа Option, содержащее результат
reduceRight(op), если этот параллельный итерируемый набор непустой,Noneв противном случае.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def repr: ParHashSet[T]
- Определяющие классы
- ParIterableLike → GenTraversableLike
def reuse[S, That](oldc: Option[Combiner[S, That]], newc: Combiner[S, That]): Combiner[S, That]
Возможная повторная переиспользование существующего объединителя для повышения производительности. По умолчанию не используется - подклассы могут переопределять это поведение. Предоставленный объединитель oldc , который потенциально может быть повторно использован, будет либо некоторым объединителем из предыдущей вычислительной задачи, либо None , если предыдущей фазы не было (в этом случае этот метод должен вернуть newc).
- oldc
Объединитель, который является результатом предыдущей задачи, или
None, если предыдущей задачи не было.- newc
Новый, пустой объединитель, который можно использовать.
- returns
Либо
newc, либоoldc.
- Атрибуты
- protected
- Определяющие классы
- ParHashSet → ParIterableLike
def sameElements(that: GenIterable[A]): Boolean
Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и этот неизменяемый параллельный хеш-множество.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
Примечание: не завершится для бесконечных коллекций.
- that
коллекция для сравнения.
- returns
true, если обе коллекции содержат одни и те же элементы в том же порядке,falseв противном случае.
- Определяющие классы
- ParIterableLike → GenIterableLike
def scan(z: T)(op: (T, T) ⇒ T): ParHashSet[T]
Вычисляет префиксное сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- returns
новое неизменяемое параллельное хеш-множество, содержащее префиксное сканирование элементов в этом неизменяемом параллельном хеш-множестве
- Определяющие классы
- ParIterableLike → GenTraversableLike
def scanBlockSize: Int
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
def scanLeft[S, That](z: S)(op: (S, T) ⇒ S)(implicit bf: CanBuildFrom[ParHashSet[T], S, That]): That
Производит коллекцию, содержащую кумулятивные результаты применения оператора слева направо.
Примечание: не завершится для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
неявное значение класса
CanBuildFrom, который определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
коллекция со промежуточными результатами
- Определяющие классы
- ParIterableLike → GenTraversableLike
def scanRight[S, That](z: S)(op: (T, S) ⇒ S)(implicit bf: CanBuildFrom[ParHashSet[T], S, That]): That
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головной элемент коллекции — последний кумулятивный результат.
Примечание: не завершится для коллекций бесконечной размерности.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
неявное значение класса
CanBuildFrom, определяющее тип результатаThatпо текущему типу представленияReprи новому типу элементовB.- returns
коллекция с промежуточными результатами
- Definition Classes
- ParIterableLike → GenTraversableLike
def seq: HashSet[T]
- Definition Classes
- ParHashSet → ParIterableLike → GenSet → GenIterable → GenTraversable → GenSetLike → Parallelizable → GenTraversableOnce
def sequentially[S, That <: Parallel](b: (HashSet[T]) ⇒ Parallelizable[S, That]): ParHashSet[T]
- Attributes
- protected[this]
- Definition Classes
- ParIterableLike
def size: Int
Размер этого неизменяемого параллельного набора хешей.
Примечание: не завершится для коллекций бесконечной размерности.
- returns
количество элементов в этом неизменяемом параллельном наборе хешей.
- Definition Classes
- ParHashSet → GenTraversableLike → GenTraversableOnce
def sizeHintIfCheap: Int
Размер этой коллекции или итератора, если его можно вычислить дёшево
- returns
количество элементов в этой коллекции или итераторе, или -1, если размер нельзя определить дёшево
- Attributes
- protected[collection]
- Definition Classes
- GenTraversableOnce
def slice(unc_from: Int, unc_until: Int): ParHashSet[T]
Выбирает интервал элементов. Результирующая коллекция состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.
- unc_from
наименьший индекс для включения из этого параллельного итерируемого объекта.
- unc_until
наименьший индекс для ИСКЛЮЧЕНИЯ из этого параллельного итерируемого объекта.
- returns
параллельный итерируемый объект, содержащий элементы, большие или равные индексу
from, простираясь до (но не включая) индексuntilэтого параллельного итерируемого объекта.
- Definition Classes
- ParIterableLike → GenTraversableLike
def span(pred: (T) ⇒ Boolean): (ParHashSet[T], ParHashSet[T])
Разделяет этот параллельный итерируемый объект на пару префикс/суффикс в соответствии с предикатом.
Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут устанавливать и читать состояние indexFlag. Флаг индекса первоначально установлен на максимальное целое значение.
- pred
предикат, используемый для проверки элементов
- returns
пара, состоящая из самого длинного префикса коллекции, для которого все элементы удовлетворяют
pred, и остальной частью коллекции
- Definition Classes
- ParIterableLike → GenTraversableLike
def splitAt(n: Int): (ParHashSet[T], ParHashSet[T])
Разделяет этот параллельный итерируемый объект на два в заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.
- n
позиция, по которой нужно разделить.
- returns
пара параллельных итерируемых объектов, состоящих из первых
nэлементов этого параллельного итерируемого объекта и других элементов.
- Definition Classes
- ParIterableLike → GenTraversableLike
def splitter: IterableSplitter[T]
Создаёт новый параллельный итератор, используемый для обхода элементов этого параллельного набора. Этот итератор более специфичен, чем итератор, возвращаемый iterator, и дополнен дополнительными методами доступа и преобразования.
- returns
параллельный итератор
- Definition Classes
- ParHashSet → ParIterableLike
def stringPrefix: String
Определяет префикс представления этого объекта toString.
- returns
строковое представление, которое начинается с результата применения
toStringк этому изменяемому параллельному множеству. По умолчанию префикс строки — это простое имя класса коллекции изменяемое параллельное множество.
- Definition Classes
- ParSet → ParSet → ParIterable → GenTraversableLike
def subsetOf(that: GenSet[T]): Boolean
Проверяет, является ли это множество подмножеством другого множества.
- that
множество для проверки.
- returns
true, если это множество является подмножествомthat, т. е. если каждый элемент этого множества также является элементомthat.
- Definition Classes
- GenSetLike
def sum: A
Суммирует элементы этой коллекции.
- returns
сумма всех элементов в этом неизменяемом параллельном множестве чисел типа
Int. ВместоInt, любой другой типTс неявной реализациейNumeric[T]может использоваться в качестве типа элементов неизменяемого параллельного множества и в качестве типа результатаsum. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- ParIterableLike → GenTraversableOnce
final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
def tail: ParHashSet[T]
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
параллельное iterable, состоящее из всех элементов этого параллельного iterable, кроме первого.
- Definition Classes
- ParIterableLike → GenTraversableLike
- Exceptions thrown
UnsupportedOperationException, если параллельное iterable пусто.
def take(n: Int): ParHashSet[T]
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно взять из этого параллельного iterable.
- returns
параллельное iterable, содержащее только первые
nэлементы этого параллельного iterable, или же всё параллельное iterable, если оно содержит меньшеnэлементов. Еслиnотрицательно, возвращает пустое параллельное iterable.
- Definition Classes
- ParIterableLike → GenTraversableLike
def takeWhile(pred: (T) ⇒ Boolean): ParHashSet[T]
Берёт самое длинное префикс элементов, удовлетворяющих предикату.
Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут установить и считать состояние indexFlag. Флаг индекса изначально устанавливается в максимальное целое значение.
- pred
предикат, используемый для проверки элементов
- returns
самое длинное префикс этого параллельного iterable элементов, удовлетворяющих предикату
pred
- Definition Classes
- ParIterableLike → GenTraversableLike
implicit def task2ops[R, Tp](tsk: SSCTask[R, Tp]): TaskOps[R, Tp]
- Attributes
- protected
- Definition Classes
- ParIterableLike
def tasksupport: TaskSupport
Объект поддержки задач, ответственный за планирование и балансировку нагрузки задач на процессоры.
- Definition Classes
- ParIterableLike
- См. также
def tasksupport_=(ts: TaskSupport): Unit
Изменяет объект поддержки задач, который отвечает за планирование и балансировку задач по процессорам.
Объект поддержки задач можно изменить в параллельной коллекции после ее создания, но только в период бездействия, то есть, пока нет одновременных вызовов методов параллельной коллекции.
Вот как можно изменить поддержку задач параллельной коллекции:
import scala.collection.parallel._ val pc = mutable.ParArray(1, 2, 3) pc.tasksupport = new ForkJoinTaskSupport( new java.util.concurrent.ForkJoinPool(2))
- Definition Classes
- ParIterableLike
- See also
def to[Col[_]]: Col[A]
Преобразует это неизменяемое параллельное хеш-множество в другое, скопировав все элементы.
Примечание: не завершится для коллекций бесконечного размера.
- Col
Тип коллекции, которая должна быть построена.
- returns
новая коллекция, содержащая все элементы этого неизменяемого параллельного хеш-множества.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toArray: Array[A]
Преобразует это неизменяемое параллельное хеш-множество в массив.
Примечание: не завершится для коллекций бесконечного размера.
- returns
массив, содержащий все элементы этого неизменяемого параллельного хеш-множества. Для типа элементов этого неизменяемого параллельного хеш-множества должен быть доступен
ClassTag.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toBuffer[U >: T]: Buffer[U]
Использует содержимое этой параллельной итерируемой последовательности для создания нового изменяемого буфера.
Примечание: не завершится для коллекций бесконечного размера.
- returns
буфер, содержащий все элементы этой параллельной итерируемой последовательности.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toIndexedSeq: immutable.IndexedSeq[T]
Преобразует эту параллельную итерируемую последовательность в индексированную последовательность.
Примечание: не завершится для коллекций бесконечного размера.
- returns
индексированная последовательность, содержащая все элементы этой параллельной итерируемой последовательности.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toIterable: ParIterable[T]
Преобразует эту параллельную итерируемую последовательность в итерируемую коллекцию. Обратите внимание, что выбор целевого Iterable в этом реализации по умолчанию ленивый, так как этот TraversableOnce может быть ленивым и невычисленным (т.е. это может быть итератор, который доступен для обхода только один раз).
Примечание: не завершится для коллекций бесконечного размера.
- returns
итерируемая
Iterable, содержащая все элементы этой параллельной итерируемой последовательности.
- Definition Classes
- ParIterable → ParIterableLike → GenTraversableOnce
def toIterator: scala.Iterator[T]
Возвращает итератор по элементам в этой параллельной итерируемой последовательности. Вернёт тот же итератор, если этот экземпляр уже является итератором.
Примечание: не завершится для коллекций бесконечного размера.
- returns
итератор, содержащий все элементы этой параллельной итерируемой последовательности.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toList: List[T]
Преобразует эту параллельную итерируемую последовательность в список.
Примечание: не завершится для коллекций бесконечного размера.
- returns
список, содержащий все элементы этой параллельной итерируемой последовательности.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toMap[T, U]: collection.Map[T, U]
Преобразует это неизменяемое параллельное хеш-множество в карту. Этот метод недоступен, если элементы не являются членами Tuple2, каждая ((T, U)) становится парой ключ-значение в карте. Повторяющиеся ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, какой ключ находится в результирующей карте, не определено.
Примечание: не завершится для коллекций бесконечного размера.
- returns
карта типа
immutable.Map[T, U]содержащая все пары ключ/значение типа(T, U)этого неизменяемого параллельного хеш-множества.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toParArray: ParArray[T]
- Явный
- Этот член добавлен явным преобразованием из ParHashSet[T] в CollectionsHaveToParArray[ParHashSet[T], T] при помощи метода CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только в том случае, если в области видимости будет неявное значение типа (ParHashSet[T]) ⇒ GenTraversableOnce[T].
- Определяющие классы
- CollectionsHaveToParArray
def toParCollection[U >: T, That](cbf: () ⇒ Combiner[U, That]): That
- Атрибуты
- protected
- Определяющие классы
- ParIterableLike
def toParMap[K, V, That](cbf: () ⇒ Combiner[(K, V), That])(implicit ev: <:<[T, (K, V)]): That
- Атрибуты
- protected
- Определяющие классы
- ParIterableLike
def toSeq: ParSeq[T]
Преобразует это параллельное множество в последовательность. Как и toIterable, в этом реализации оно ленивое, поскольку это TraversableOnce может быть ленивым и невычисленным.
Примечание: не завершится для бесконечно больших коллекций.
- возвращает
последовательность, содержащая все элементы этого параллельного множества.
- Определяющие классы
- ParIterable → ParIterableLike → GenTraversableOnce
def toSet[U >: T]: ParSet[U]
Преобразует это изменяемое параллельное множество в множество.
Примечание: не завершится для бесконечно больших коллекций.
- возвращает
множество, содержащее все элементы этого изменяемого параллельного множества.
- Определяющие классы
- ParSet → ParIterableLike → GenTraversableOnce
def toStream: Stream[T]
Преобразует это параллельное множество в поток.
- возвращает
поток, содержащий все элементы этого параллельного множества.
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def toString(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- возвращает
строковое представление объекта.
- Определяющие классы
- ParIterableLike → AnyRef → Any
def toTraversable: GenTraversable[T]
Преобразует это параллельное множество в обобщённое множество. Вернёт ту же коллекцию, если текущий экземпляр уже является множеством.
Примечание: не завершится для бесконечно больших коллекций.
- возвращает
множество, содержащее все элементы этого параллельного множества.
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def toVector: Vector[T]
Преобразует это параллельное множество в вектор.
Примечание: не завершится для бесконечно больших коллекций.
- возвращает
вектор, содержащий все элементы этого параллельного множества.
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def transpose[B](implicit asTraversable: (T) ⇒ GenTraversableOnce[B]): ParHashSet[ParHashSet[B]]
Преобразует это множество перебираемых коллекций в множество коллекций.
Тип результирующей коллекции будет определяться статическим типом коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
- B
тип элементов каждой перебираемой коллекции.
- asTraversable
явное преобразование, которое утверждает, что тип элементов этой коллекции является
Traversable.- возвращает
двумерную коллекцию коллекций, где n-я строка соответствует n-му столбцу этой коллекции.
- Классы-определения
- GenericTraversableTemplate
- Аннотации
- @migration
- Миграция
(Изменено в версии 2.9.0)
transposeвызываетIllegalArgumentExceptionесли коллекции не имеют одинаковый размер.- Исключения
IllegalArgumentExceptionесли все коллекции в этой коллекции не имеют одинаковый размер.
def union(that: GenSet[T]): ParHashSet[T]
Вычисляет объединение множества и другого множества.
- that
множество для объединения.
- возвращает
новое множество, состоящее из всех элементов, которые присутствуют в этом множестве или в заданном множестве
that.
- Классы-определения
- ParSetLike → GenSetLike
def unzip[A1, A2](implicit asPair: (T) ⇒ (A1, A2)): (ParHashSet[A1], ParHashSet[A2])
Преобразует это множество пар в два множества первой и второй половины каждой пары.
val xs = Traversable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three))
- A1
тип первой половины пар элементов
- A2
тип второй половины пар элементов
- asPair
явное преобразование, которое утверждает, что тип элементов этой коллекции является парой.
- возвращает
пару коллекций, содержащих первую и вторую половины каждой пары элементов этой коллекции.
- Классы-определения
- GenericTraversableTemplate
def unzip3[A1, A2, A3](implicit asTriple: (T) ⇒ (A1, A2, A3)): (ParHashSet[A1], ParHashSet[A2], ParHashSet[A3])
Преобразует это множество троек в три множества первого, второго и третьего элемента каждой тройки.
val xs = Traversable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three),
// Traversable(1, 2, 3))
- A1
тип первого члена троек элементов
- A2
тип второго члена троек элементов
- A3
тип третьего члена троек элементов
- asTriple
явное преобразование, которое утверждает, что тип элементов этой коллекции является тройкой.
- возвращает
тройку коллекций, содержащих первый, второй и третий член каждой тройки элементов этой коллекции.
- Классы-определения
- GenericTraversableTemplate
final def wait(): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long): Unit
def withFilter(pred: (T) ⇒ Boolean): ParHashSet[T]
- Классы-определения
- ParIterableLike
def wrap[R](body: ⇒ R): NonDivisible[R]
- Атрибуты
- protected
- Классы-определения
- ParIterableLike
def zip[B](that: GenIterable[B]): ParHashSet[(A, B)]
Возвращает неизменяемый параллельный набор хэш-значений, образованный из этого неизменяемого параллельного набора хэш-значений и другой итерируемой коллекции, комбинируя соответствующие элементы в пары. Если одна из двух коллекций длиннее другой, оставшиеся элементы игнорируются.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- returns
новый неизменяемый параллельный набор хэш-значений, содержащий пары, состоящие из соответствующих элементов этого неизменяемого параллельного набора хэш-значений и
that. Длина возвращаемой коллекции равна минимуму длин этого неизменяемого параллельного набора хэш-значений иthat.
- Definition Classes
- ParIterableLike → GenIterableLike
def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): ParHashSet[(A, B)]
Возвращает неизменяемый параллельный набор хэш-значений, образованный из этого неизменяемого параллельного набора хэш-значений и другой итерируемой коллекции, комбинируя соответствующие элементы в пары. Если одна из двух коллекций короче другой, для заполнения используются заполнительные элементы.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- thisElem
элемент, используемый для заполнения результата, если этот неизменяемый параллельный набор хэш-значений короче
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче этого неизменяемого параллельного набора хэш-значений.- returns
новый неизменяемый параллельный набор хэш-значений, содержащий пары, состоящие из соответствующих элементов этого неизменяемого параллельного набора хэш-значений и
that. Длина возвращаемой коллекции равна максимуму длин этого неизменяемого параллельного набора хэш-значений иthat. Если этот неизменяемый параллельный набор хэш-значений корочеthat, используются значенияthisElem, чтобы заполнить результат. Еслиthatкороче этого неизменяемого параллельного набора хэш-значений, используются значенияthatElem, чтобы заполнить результат.
- Definition Classes
- ParIterableLike → GenIterableLike
def zipWithIndex: ParHashSet[(A, Int)]
Сопоставляет этот неизменяемый параллельный набор хэш-значений с его индексами.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
Новый неизменяемый параллельный набор хэш-значений, содержащий пары, состоящие из всех элементов этого неизменяемого параллельного набора хэш-значений, соединенных со своим индексом. Индексы начинаются с
0.
- Definition Classes
- ParIterableLike → GenIterableLike
List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))
def |(that: GenSet[T]): ParHashSet[T]
Вычисляет объединение между этим множеством и другим множеством.
Примечание: То же, что и union.
- that
множество для объединения.
- returns
новое множество, содержащее все элементы, которые находятся в этом множестве или в заданном множестве
that.
- Definition Classes
- GenSetLike
def →[B](y: B): (ParHashSet[T], B)
- Неявный
- Этот член добавлен неявным преобразованием из ParHashSet[T] в ArrowAssoc[ParHashSet[T]], выполненное методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
Скрытые неявные члены-значения
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из ParHashSet[T] в any2stringadd[ParHashSet[T]], выполненное методом any2stringadd в scala.Predef.
- Скрытие
- Этот неявно унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(parHashSet: any2stringadd[ParHashSet[T]]).+(other)
- Definition Classes
- any2stringadd
© 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/immutable/ParHashSet.html
Неизменяемый параллельный набор хэшей, основанный на хэш-деревьях.
Это базовый интерфейс для параллельных коллекций Scala. Он определяет поведение, общее для всех параллельных коллекций. Конкретные параллельные коллекции должны унаследовать этот интерфейс и
ParIterableесли они хотят определить специфические фабрики объединителей.Параллельные операции реализуются с помощью алгоритмов «разделяй и властвуй», которые хорошо параллелизуются. Основная идея состоит в том, чтобы разделить коллекцию на более мелкие части до тех пор, пока они не станут достаточно малыми для последовательной обработки.
Все параллельные операции реализованы как задачи в этом интерфейсе. Задачи опираются на концепцию делителей, которые расширяют итераторы. Каждая параллельная коллекция определяет:
который возвращает экземпляр
IterableSplitter[T], который является подтипомSplitter[T]. У делителей есть методremainingдля проверки оставшегося числа элементов и методsplit, который определяется делителями. Методsplitделит итерации делителей на непересекающиеся подмножества:который разбивает делитель на последовательность непересекающихся подделителей. Обычно это очень быстрая операция, которая просто создает оболочки вокруг исходной коллекции. Это можно повторять рекурсивно.
Задачи планируются для выполнения через объект scala.collection.parallel.TaskSupport, который можно изменить с помощью
tasksupportустановщика коллекции.Метод
newCombinerсоздает новый объединитель. Объединители являются расширением билдеров. Они предоставляют методcombineкоторый объединяет два объединителя и возвращает объединитель, содержащий элементы обоих объединителей. Этот метод можно реализовать, агрессивно скопировав все элементы в новый объединитель или отложив их объединение. Рекомендуется избегать копирования всех элементов для повышения производительности, хотя эта стоимость может быть незначительной в зависимости от конкретного случая. Стандартные параллельные объединители коллекций избегают копирования при слиянии результатов, полагаясь либо на двухэтапное отложенное построение, либо на свойства структуры данных.Методы:
создают последовательную или параллельную реализацию коллекции соответственно. Метод
parпросто возвращает ссылку на эту параллельную коллекцию. Методseqэффективный - он не копирует элементы. Вместо этого он создает последовательную версию коллекции, используя ту же базовую структуру данных. Обратите внимание, что это не относится ко всем последовательным коллекциям - они могут копировать элементы и производить другую базовую структуру данных.Сочетание методов
toMap,toSeqилиtoSetвместе сparиseqявляется гибким способом переключения между различными типами коллекций.Поскольку этот интерфейс расширяет
GenIterableинтерфейс, методы, такие какsize, также должны быть реализованы в конкретных коллекциях, в то время какiteratorперенаправляет наsplitterпо умолчанию.Каждая параллельная коллекция связана с конкретным пулом fork/join, в котором хранятся неактивные потоки-работники. Пул fork/join содержит другую информацию, такую как уровень параллелизма, то есть количество процессоров, используемых. При создании коллекции ей назначается по умолчанию пул fork/join, найденный в
scala.parallelпакете объектов.Параллельные коллекции не обязательно упорядочены в отношении операции
foreach(см.Traversable). Параллельные последовательности имеют хорошо определённый порядок для итераторов - создание итератора и линейное прохождение элементов всегда даст один и тот же порядок. Однако операции по обработке наборов, такие какforeach,mapилиfilterвсегда происходят в неопределённом порядке для всех параллельных коллекций.Существующие реализации параллельных коллекций предоставляют строгие параллельные итераторы. Строгие параллельные итераторы знают, сколько элементов им еще предстоит пройти. Также возможно предоставить нестрогие параллельные итераторы, которые не знают количество оставшихся элементов. Для этого новая реализация коллекции должна переопределить
isStrictSplitterCollectionнаfalse. Это сделает некоторые операции недоступными.Для создания новой параллельной коллекции необходимо расширить
ParIterableинтерфейс и реализоватьsize,splitter,newCombinerиseq. Необходимость явного объединителя требует расширения этого интерфейса, а также предоставления объекта-компаньона, как и в случае с обычными коллекциями.Метод
sizeреализуется как операция постоянного времени для параллельных коллекций, и параллельные операции коллекций опираются на это предположение.Функции высшего порядка, передаваемые в некоторые операции, могут содержать побочные эффекты. Поскольку реализации массовых операций могут быть не последовательными, это означает, что побочные эффекты могут быть непредсказуемыми и могут привести к гонкам данных, тупикам или потере состояния, если не принять соответствующие меры предосторожности. Программист должен либо избегать побочных эффектов, либо использовать какую-либо форму синхронизации при доступе к изменяемым данным.
тип элементов множества
2.9
Обзор библиотеки параллельных коллекций Scala раздел «Параллельные хэш-деревья» для получения дополнительной информации.