Класс scala.collection.parallel.immutable.ParVector
Компаньон объект ParVector
класс ParVector[+T] extends ParSeq[T] with GenericParTemplate[T, ParVector] with ParSeqLike[T, ParVector[T], immutable.Vector[T]] with Serializable
Члены типов
класс 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 Transformer[(Combiner[U, This], Combiner[U, This]), Partition[U, This]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Product[U >: T] extends Accessor[U, Product[U]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
класс Reduce[U >: T] extends Accessor[Option[U], Reduce[U]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
абстрактный класс ResultMapping[R, Tp, R1] extends NonDivisibleTask[R1, ResultMapping[R, Tp, R1]]
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
служебный класс ScanLeaf[U >: T](pit: IterableSplitter[U], op: (U, U) ⇒ U, from: Int, len: Int, prev: Option[ScanLeaf[U]], acc: U) extends ScanTree[U] with scala.Product with Serializable
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
служебный класс ScanNode[U >: T](left: ScanTree[U], right: ScanTree[U]) extends ScanTree[U] with scala.Product with Serializable
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
трайт ScanTree[U >: T] extends AnyRef
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
абстрактный класс SeqComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends Composite[FR, SR, R, First, Second]
Последовательно выполняет одну задачу после другой.
- Атрибуты
- protected[this]
- Классы определения
- ParIterableLike
трайт SignallingOps[PI <: DelegatedSignalling] extends AnyRef
- Классы определения
- ParIterableLike
класс Slice[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Slice[U, This]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
класс Span[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), Span[U, This]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
класс SplitAt[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), SplitAt[U, This]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
трайт StrictSplitterCheckTask[R, Tp] extends Task[R, Tp]
- Атрибуты
- protected
- Определяющие классы
- ParIterableLike
класс Sum[U >: T] extends Accessor[U, Sum[U]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
класс Take[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Take[U, This]]
- Атрибуты
- protected[this]
- Определяющие классы
- 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
класс ZipAll[U >: T, S, That] extends Transformer[Combiner[(U, S), That], ZipAll[U, S, That]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
тракт Accessor[R, Tp] extends ParSeqLike.Accessor[R, Tp]
- Атрибуты
- protected
- Определяющие классы
- ParSeqLike
класс Corresponds[S] extends Accessor[Boolean, Corresponds[S]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
абстрактный класс Elements extends SeqSplitter[T] with scala.BufferedIterator[T]
Используется для итерации элементов с помощью индексов
- Атрибуты
- protected
- Определяющие классы
- ParSeqLike
класс IndexWhere extends Accessor[Int, IndexWhere]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
класс LastIndexWhere extends Accessor[Int, LastIndexWhere]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
класс Reverse[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Reverse[U, This]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
класс ReverseMap[S, That] extends Transformer[Combiner[S, That], ReverseMap[S, That]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
класс SameElements[U >: T] extends Accessor[Boolean, SameElements[U]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
класс SegmentLength extends Accessor[(Int, Boolean), SegmentLength]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
тракт Transformer[R, Tp] extends Accessor[R, Tp] with ParSeqLike.Transformer[R, Tp]
- Атрибуты
- protected
- Определяющие классы
- ParSeqLike
класс Updated[U >: T, That] extends Transformer[Combiner[U, That], Updated[U, That]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
класс Zip[U >: T, S, That] extends Transformer[Combiner[(U, S), That], Zip[U, S, That]]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
класс ParVectorIterator extends VectorIterator[T] with SeqSplitter[T]
тип SSCTask[R, Tp] = StrictSplitterCheckTask[R, Tp]
- Определяющие классы
- ParIterableLike
тип SuperParIterator = IterableSplitter[T]
- Атрибуты
- protected[this]
- Определяющие классы
- ParSeqLike
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), иначе false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает хэш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## для каждого из них вернет одинаковое хэш-значение. Для null возвращает хэш-код, где null.hashCode генерирует NullPointerException.
- returns
хэш-значение, согласованное с ==
- Definition Classes
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен с помощью неявного преобразования из ParVector[T] в any2stringadd[ParVector[T]], выполненного методом any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ++[U >: T, That](that: GenTraversableOnce[U])(implicit bf: CanBuildFrom[ParVector[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 +:(elem: A): ParVector[A]
Копия неизменяемого параллельного вектора с префиксным элементом.
Обратите внимание, что операторы с суффиксом - являются правоассоциативными (см. пример). Мнемоническое для +: против :+: COLon идёт со стороны COLlection.
Также, исходный неизменяемый параллельный вектор не изменяется, поэтому вам нужно будет захватить результат.
Пример:
scala> val x = List(1) x: List[Int] = List(1) scala> val y = 2 +: x y: List[Int] = List(2, 1) scala> println(x) List(1)
- elem
префиксный элемент
- returns
новый неизменяемый параллельный вектор, состоящий из
elemза которым следуют все элементы этого неизменяемого параллельного вектора.
- Definition Classes
- ParSeqLike → GenSeqLike
def ->[B](y: B): (ParVector[T], B)
- Неявный
- Этот член добавлен с помощью неявного преобразования из ParVector[T] в ArrowAssoc[ParVector[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
бинарный оператор.
- возвращает
-
результат вставки
opмежду последовательными элементами этого параллельного итерируемого объекта, слева направо, с начальным значениемzслева:op(...op(op(z, x_1), x_2), ..., x_n)
где
x1, ..., xn— это элементы этого параллельного итерируемого объекта.
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def :+(elem: A): ParVector[A]
Копия этого неизменяемого параллельного вектора с добавленным элементом.
Мемоника для +: против :+: двоеточие ставится со стороны коллекции.
Примечание: не завершится для коллекций бесконечного размера.
Пример:
scala> val a = List(1) a: List[Int] = List(1) scala> val b = a :+ 2 b: List[Int] = List(1, 2) scala> println(a) List(1)
- elem
добавляемый элемент
- возвращает
новый неизменяемый параллельный вектор, состоящий из всех элементов этого неизменяемого параллельного вектора, за которым следует
elem.
- Определяющие классы
- ParSeqLike → GenSeqLike
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
бинарный оператор
- возвращает
-
результат вставки
opмежду последовательными элементами этого параллельного итерируемого объекта, справа налево, с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— это элементы этого параллельного итерируемого объекта.
- Определяющие классы
- ParIterableLike → GenTraversableOnce
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- 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(_), _ ++ _)
Другой пример — вычисление геометрического среднего из коллекции двойных значений (для этого обычно требуется большое значение типа double).
- S
тип накопленных результатов
- z
начальное значение для накопленного результата раздела — это обычно нейтральный элемент для оператора
seqop(например,Nilдля конкатенации списков или0для суммирования) и может быть вычислен более одного раза- seqop
оператор, используемый для накопления результатов в пределах раздела
- combop
ассоциативный оператор, используемый для объединения результатов из разных разделов
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def apply(idx: Int): T
Выбирает элемент по его индексу в неизменяемом параллельном векторе.
Пример:
scala> val x = List(1, 2, 3, 4, 5) x: List[Int] = List(1, 2, 3, 4, 5) scala> x(3) res1: Int = 4
- idx
Выбираемый индекс.
- возвращает
элемент этого неизменяемого параллельного вектора с индексом
idx, где0обозначает первый элемент.
- Определяющие классы
- ParVector → ParSeq → GenSeqLike
- Исключения
IndexOutOfBoundsExceptionеслиidxне удовлетворяет условию0 <= idx < length.
final def asInstanceOf[T0]: T0
Преобразовать объект-получатель в объект типа T0.
Обратите внимание, что успешность приведения типа во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, так как аргумент типа стирается во время компиляции, невозможно проверить, относятся ли элементы списка к требуемому типу.
- возвращает
объект-получатель.
- Определяющие классы
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стираемого типаT0.
def bf2seq[S, That](bf: CanBuildFrom[ParVector[T], S, That]): CanBuildFrom[immutable.Vector[T], S, That]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
implicit def builder2ops[Elem, To](cb: Builder[Elem, To]): BuilderOps[Elem, To]
- Атрибуты
- protected
- Определяющие классы
- ParIterableLike
def canEqual(other: Any): Boolean
- Определяющие классы
- ParIterableLike
def clone(): AnyRef
Создать копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
- возвращает
копию объекта-получателя.
def collect[B](pf: PartialFunction[A, B]): ParVector[B]
Создаёт новую коллекцию, применяя частичную функцию ко всем элементам этого неизменяемого параллельного вектора, для которых она определена.
- B
тип элементов возвращаемой коллекции.
- pf
частичная функция, которая фильтрует и отображает неизменяемый параллельный вектор.
- возвращает
новый неизменяемый параллельный вектор, полученный путём применения данной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Определяющие классы
- ParIterableLike → GenTraversableLike
def combinerFactory[S, That](cbf: () ⇒ Combiner[S, That]): CombinerFactory[S, That]
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
def combinerFactory: CombinerFactory[T, ParVector[T]]
Создаёт фабрику комбинирования. Каждый экземпляр фабрики комбинирования используется один раз при вызове метода параллельного преобразования для одного объекта коллекции.
Фабрика комбинирования по умолчанию создаёт новый комбинировщик каждый раз, если комбинировщик не является потокобезопасным, как указано в его методе canBeShared. В этом случае метод возвращает фабрику, которая возвращает тот же комбинировщик каждый раз. Это обычно делается для параллельных коллекций, работающих в конкурентном режиме, комбинировщики которых допускают безопасный доступ с нескольких потоков.
- Атрибуты
- protected[this]
- Определяющие классы
- ParIterableLike
def companion: ParVector.type
Объект-компаньон фабрики, который создаёт экземпляры класса immutable.ParVector. (или его Iterable суперкласса, где класс immutable.ParVector не является Seq.)
- Definition Classes
- ParVector → ParSeq → ParIterable → ParSeq → ParIterable → GenericParTemplate → GenSeq → GenIterable → GenTraversable → GenericTraversableTemplate
def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует элементы этого неизменяемого параллельного вектора в массив. Заполняет данный массив xs не более чем len элементами этого неизменяемого параллельного вектора, начиная с позиции start. Копирование прекратится, как только будет достигнут конец текущего неизменяемого параллельного вектора, или конец целевого массива, или len элементов будут скопированы.
Примечание: не завершится для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество копируемых элементов.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этого неизменяемого параллельного вектора в массив. Заполняет данный массив xs значениями этого неизменяемого параллельного вектора, начиная с индекса start. Копирование прекратится, как только будет достигнут конец текущего неизменяемого параллельного вектора или конец целевого массива.
Примечание: не завершится для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этого неизменяемого параллельного вектора в массив. Заполняет данный массив xs значениями этого неизменяемого параллельного вектора. Копирование прекратится, как только будет достигнут конец текущего неизменяемого параллельного вектора или конец целевого массива.
Примечание: не завершится для коллекций бесконечного размера.
- xs
массив для заполнения.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def corresponds[S](that: GenSeq[S])(p: (T, S) ⇒ Boolean): Boolean
Проверяет, соответствует ли каждый элемент этого параллельного итерируемого объекта соответствующему элементу другой параллельной последовательности, удовлетворяя условию предиката.
Этот метод использует abort возможности сигнализации. Это означает, что разделители могут отправлять и читать abort сигналы.
- S
тип элементов
that- that
другая параллельная последовательность
- p
предикат проверки, который связывает элементы из обеих последовательностей
- returns
true, если обе параллельные последовательности имеют одинаковую длину иp(x, y)равенtrueдля всех соответствующих элементовxэтого параллельного итерируемого объекта иyизthat, в противном случаеfalse
- Definition Classes
- ParSeqLike → GenSeqLike
def count(p: (T) ⇒ Boolean): Int
Подсчитывает количество элементов в параллельном итерируемом объекте, удовлетворяющих предикату.
- p
предикат для проверки элементов.
- returns
количество элементов, удовлетворяющих предикату
p.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def debugBuffer: ArrayBuffer[String]
- Definition Classes
- ParIterableLike
implicit def delegatedSignalling2ops[PI <: DelegatedSignalling](it: PI): SignallingOps[PI]
- Attributes
- protected
- Definition Classes
- ParIterableLike
def diff(that: GenSeq[A]): ParVector[A]
Вычисляет разность множеств между этим неизменяемым параллельным вектором и другой последовательностью.
Примечание: не будет завершаться для коллекций бесконечного размера.
- that
последовательность элементов для удаления
- returns
новый неизменяемый параллельный вектор, который содержит все элементы этого неизменяемого параллельного вектора, за исключением некоторых вхождений элементов, которые также присутствуют в
that. Если значение элементаxвстречается n раз вthat, то первые n вхожденийxне будут частью результата, но любые последующие вхождения будут.
- Definition Classes
- ParSeqLike → GenSeqLike
def distinct: ParVector[T]
Создаёт новый параллельный итерируемый объект из этого параллельного итерируемого объекта без дублирующих элементов.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
Новый параллельный итерируемый объект, содержащий первое вхождение каждого элемента этого параллельного итерируемого объекта.
- Definition Classes
- ParSeqLike → GenSeqLike
def down(p: IterableSplitter[_]): SeqSplitter[T]
- Attributes
- protected[this]
- Definition Classes
- ParSeqLike
def drop(n: Int): ParVector[T]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
количество элементов для удаления из этого параллельного итерируемого объекта.
- returns
параллельный итерируемый объект, состоящий из всех элементов этого параллельного итерируемого объекта, кроме первых
nэлементов, или пустой параллельный итерируемый объект, если у этого параллельного итерируемого объекта меньшеnэлементов. Еслиnотрицательное, не удалять никакие элементы.
- Definition Classes
- ParIterableLike → GenTraversableLike
def dropWhile(pred: (T) ⇒ Boolean): ParVector[T]
Удаляет все элементы в самом длинном префиксе элементов, удовлетворяющих предикату, и возвращает коллекцию, составленную из оставшихся элементов.
Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут устанавливать и считывать indexFlag состояние. Флаг индекса по умолчанию устанавливается в максимальное целочисленное значение.
- pred
предикат, используемый для проверки элементов
- returns
коллекция, составленная из всех элементов после самого длинного префикса элементов в этом параллельном итерируемом объекте, удовлетворяющих предикату
pred
- Definition Classes
- ParIterableLike → GenTraversableLike
def endsWith[S](that: GenSeq[S]): Boolean
Проверяет, заканчивается ли этот параллельный итерируемый объект заданной параллельной последовательностью.
Этот метод будет использовать abort возможности сигнализации. Это означает, что разделители могут отправлять и получать abort сигналы.
- S
тип элементов
thatпоследовательности- that
последовательность для проверки
- returns
trueесли этот параллельный итерируемый объект заканчиваетсяthatпоследовательностью,falseв противном случае
- Definition Classes
- ParSeqLike → GenSeqLike
def ensuring(cond: (ParVector[T]) ⇒ Boolean, msg: ⇒ Any): ParVector[T]
- Implicit
- Этот член добавлен неявным преобразованием из ParVector[T] в Ensuring[ParVector[T]] выполняемого методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (ParVector[T]) ⇒ Boolean): ParVector[T]
- Implicit
- Этот член добавлен неявным преобразованием из ParVector[T] в Ensuring[ParVector[T]] выполняемого методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): ParVector[T]
- Неявный
- Этот член добавлен неявным преобразованием из ParVector[T] в Ensuring[ParVector[T]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): ParVector[T]
- Неявный
- Этот член добавлен неявным преобразованием из ParVector[T] в Ensuring[ParVector[T]] с помощью метода 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(that: Any): Boolean
Метод equals для произвольных последовательностей. Сравнивает эту последовательность с другим объектом.
- that
Объект для сравнения с последовательностью
- возвращает
trueеслиthat— это последовательность, имеющая те же элементы, что и эта последовательность, в том же порядке,falseв противном случае
- Определяющие классы
- GenSeqLike → Equals → Any
def exists(p: (T) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для какого-либо элемента этого параллельного итерируемого объекта.
Этот метод будет использовать возможности abort сигнализации. Это означает, что разделители могут отправлять и читать abort сигналы.
- p
предикат, используемый для проверки элементов
- возвращает
true, если
pвыполняется для некоторого элемента, false в противном случае
- Определяющие классы
- ParIterableLike → GenTraversableOnce
def filter(pred: (T) ⇒ Boolean): ParVector[T]
Выбирает все элементы этого параллельного итерируемого объекта, удовлетворяющие предикату.
- pred
предикат, используемый для проверки элементов.
- возвращает
новый параллельный итерируемый объект, состоящий из всех элементов этого параллельного итерируемого объекта, удовлетворяющих заданному предикату
p. Их порядок может не сохраняться.
- Определяющие классы
- ParIterableLike → GenTraversableLike
def filterNot(pred: (T) ⇒ Boolean): ParVector[T]
Выбирает все элементы этого параллельного итерируемого объекта, не удовлетворяющие предикату.
- pred
предикат, используемый для проверки элементов.
- возвращает
новый параллельный итерируемый объект, состоящий из всех элементов этого параллельного итерируемого объекта, не удовлетворяющих заданному предикату
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
значение типа Option с элементом, если такой элемент существует, или
Noneв противном случае
- Definition Classes
- ParIterableLike → GenTraversableOnce
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): ParVector[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]: ParVector[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 (@см. java.lang.String.format).
- Implicit
- Этот член добавляется неявным преобразованием из ParVector[T] в StringFormat[ParVector[T]] с помощью метода StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
def genericBuilder[B]: Combiner[B, ParVector[B]]
Обобщённый билдер, создающий экземпляры Traversable с произвольными типами элементов.
- Definition Classes
- GenericParTemplate → GenericTraversableTemplate
def genericCombiner[B]: Combiner[B, ParVector[B]]
- Definition Classes
- GenericParTemplate
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу получателя во время выполнения.
def groupBy[K](f: (T) ⇒ K): ParMap[K, ParVector[T]]
Разделяет этот параллельный итерируемый объект на карту параллельных итерируемых объектов в соответствии с некоторой функцией-дискриминатором.
Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда принудительно создаёт представление и возвращает новый параллельный итерируемый объект.
- K
тип ключей, возвращаемых функцией-дискриминатором.
- f
функция-дискриминатор.
- returns
-
Карта из ключей к параллельным итерируемым объектам, которая удовлетворяет следующему инварианту:
(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 может гарантировать, что размер определён и не существует проблем с бесконечностью.
- returns
trueесли известно, что эта коллекция имеет конечный размер,falseв противном случае.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def hashCode(): Int
Хеш-коды для GenSeq генерируют значение из хеш-кодов всех элементов общей последовательности.
- возвращает
значение хеш-кода для этого объекта.
- Определяющие классы
- GenSeqLike → Any
def head: T
Выбирает первый элемент этого параллельного итерируемого объекта.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
первый элемент этого параллельного итерируемого объекта.
- Определяющие классы
- ParIterableLike → GenTraversableLike
- Исключения
NoSuchElementExceptionесли параллельный итерируемый объект пустой.
def headOption: Option[T]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
первый элемент этого параллельного итерируемого объекта, если он не пустой,
Noneесли он пустой.
- Определяющие классы
- ParIterableLike → GenTraversableLike
def indexOf(elem: T, from: Int): Int
Находит индекс первого вхождения некоторого значения в этот неизменяемый параллельный вектор после или на определенном стартовом индексе.
Примечание: может не завершаться для бесконечных коллекций.
- elem
значение искомого элемента.
- from
стартовый индекс
- возвращает
индекс
>= fromпервого элемента этого неизменяемого параллельного вектора, который равен (определяется по==)elem, или-1, если такой элемент отсутствует.
- Определяющие классы
- GenSeqLike
def indexOf(elem: T): Int
Находит индекс первого вхождения некоторого значения в этот неизменяемый параллельный вектор.
Примечание: может не завершаться для бесконечных коллекций.
- elem
значение искомого элемента.
- возвращает
индекс первого элемента этого неизменяемого параллельного вектора, который равен (определяется по
==)elem, или-1, если такой элемент отсутствует.
- Определяющие классы
- GenSeqLike
def indexWhere(p: (T) ⇒ Boolean, from: Int): Int
Находит первый элемент, удовлетворяющий некоторому предикату.
Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделы могут устанавливать и считывать состояние indexFlag.
Флаг индекса изначально устанавливается в максимальное целое значение.
- p
предикат, используемый для проверки элементов
- from
начальный смещение для поиска
- возвращает
индекс
>= fromпервого элемента этого параллельного итерируемого объекта, удовлетворяющего предикатуp, или-1, если такой элемент отсутствует
- Определяющие классы
- ParSeqLike → GenSeqLike
def indexWhere(p: (T) ⇒ Boolean): Int
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершаться для бесконечных коллекций.
- p
предикат, используемый для проверки элементов.
- возвращает
индекс первого элемента этой общей последовательности, удовлетворяющего предикату
p, или-1, если такой элемент отсутствует.
- Определяющие классы
- GenSeqLike
def init: ParVector[T]
Выбирает все элементы, кроме последнего.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
параллельный итерируемый объект, состоящий из всех элементов этого параллельного итерируемого объекта, кроме последнего.
- Определяющие классы
- ParIterableLike → GenTraversableLike
- Исключения
UnsupportedOperationExceptionесли параллельный итерируемый объект пустой.
def initTaskSupport(): Unit
- Атрибуты
- защищенный
- Определяющие классы
- ParIterableLike
def intersect(that: scala.Seq[T]): ParVector[T]
Вычисляет пересечение мультимножеств между этим неизменяемым параллельным вектором и другой последовательностью.
Примечание: может не завершиться для коллекций бесконечного размера.
- that
последовательность элементов для пересечения.
- returns
новый неизменяемый параллельный вектор, который содержит все элементы этого неизменяемого параллельного вектора, которые также появляются в
that. Если значение элементаxвстречается n раз вthat, то первые n вхожденийxбудут сохранены в результате, но любые последующие вхождения будут опущены.
- Definition Classes
- ParSeqLike → GenSeqLike
def isDefinedAt(idx: Int): Boolean
Проверяет, содержит ли эта общая последовательность заданный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
- idx
индекс для проверки
- returns
trueесли эта общая последовательность содержит элемент в позицииidx,falseв противном случае.
- Definition Classes
- GenSeqLike
def isEmpty: Boolean
Проверяет, является ли параллельное итерируемое пустым.
Примечание: реализации в подклассах, которые не являются многократно проходящимися, должны позаботиться о том, чтобы не потреблять какие-либо элементы, когда вызывается isEmpty.
- returns
trueесли параллельное итерируемое не содержит элементов,falseв противном случае.
- Definition Classes
- ParIterableLike → GenTraversableOnce
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 isStrictSplitterCollection: Boolean
Указывает, имеет ли эта параллельная коллекция строгие разделители.
Это верно в общем случае, и конкретные экземпляры коллекций могут переопределить этот метод. Такие коллекции не смогут выполнить методы, которые полагаются на строгие разделители, т.е. возвращение правильного значения в методе remaining.
Этот метод помогает гарантировать, что такие ошибки возникнут при вызовах методов, а не позже и непредсказуемым образом.
- Definition Classes
- ParIterableLike
final def isTraversableAgain: Boolean
Проверяет, можно ли многократно пройтись по этому параллельному итерируемому.
- returns
true
- Definition Classes
- ParIterableLike → GenTraversableLike → GenTraversableOnce
def iterator: PreciseSplitter[T]
Создает новый итератор разбиений, используемый для обхода элементов этой коллекции.
По умолчанию этот метод реализован с помощью защищенного метода splitter.
- returns
итератор разбиений
- Definition Classes
- ParSeqLike → ParIterableLike → GenIterableLike
def last: T
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
- returns
Последний элемент этого параллельного итерируемого.
- Definition Classes
- ParIterableLike → GenTraversableLike
- Исключения
NoSuchElementExceptionЕсли параллельное итерируемое пусто.
def lastIndexOf(elem: T, end: Int): Int
Находит индекс последнего вхождения некоторого значения в этот неизменяемый параллельный вектор до или на данном индексе окончания.
- elem
значение элемента для поиска.
- end
индекс окончания.
- returns
индекс
<= endпоследнего элемента этого неизменяемого параллельного вектора, который равен (как определяется==)elem, или-1, если он не существует.
- Definition Classes
- GenSeqLike
def lastIndexOf(elem: T): Int
Находит индекс последнего вхождения некоторого значения в этот неизменяемый параллельный вектор.
Примечание: не завершится для коллекций бесконечного размера.
- elem
значение элемента для поиска.
- returns
индекс последнего элемента этого неизменяемого параллельного вектора, который равен (как определяется
==)elem, или-1, если он не существует.
- Definition Classes
- GenSeqLike
def lastIndexWhere(p: (T) ⇒ Boolean, end: Int): Int
Находит последний элемент, удовлетворяющий некоторому предикату.
Этот метод будет использовать возможности сигнализации indexFlag. Это означает, что разделители могут устанавливать и считывать состояние indexFlag.
Флаг индекса изначально установлен на минимальное целое значение.
- p
предикат, используемый для проверки элементов
- end
максимальное смещение для поиска
- returns
индекс
<= endпервого элемента этого параллельного итерируемого объекта, удовлетворяющего предикатуp, или-1, если такового нет
- Definition Classes
- ParSeqLike → GenSeqLike
def lastIndexWhere(p: (T) ⇒ Boolean): Int
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
индекс последнего элемента этой общей последовательности, удовлетворяющего предикату
p, или-1, если такового нет.
- Definition Classes
- GenSeqLike
def lastOption: Option[T]
Выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
последний элемент этого параллельного итерируемого объекта, если он непуст,
Noneесли он пуст.
- Definition Classes
- ParIterableLike → GenTraversableLike
def length: Int
Длина неизменяемого параллельного вектора.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: xs.length и xs.size дают одинаковый результат.
- returns
количество элементов в этом неизменяемом параллельном векторе.
- Definition Classes
- ParVector → GenSeqLike
- Exceptions thrown
IllegalArgumentException, если длина последовательности не может быть представлена вInt, например,(-1 to Int.MaxValue).length.
def map[B](f: (A) ⇒ B): ParVector[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
- Исключения
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, ParVector[T]]
Би́лдер, который создаёт экземпляры типа Traversable[A]
- Attributes
- protected[this]
- Definition Classes
- GenericParTemplate → GenericTraversableTemplate → HasNewBuilder
def newCombiner: Combiner[T, ParVector[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()
- Примечание
не указано в SLS как член AnyRef
final def notifyAll(): Unit
Разбуждает все потоки, ожидающие монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Примечание
не указано в SLS как член AnyRef
def padTo(len: Int, elem: A): ParVector[A]
Копия этого неизменяемого параллельного вектора с добавленным значением элемента до достижения заданной целевой длины.
- len
целевая длина
- elem
значение заполнения
- возвращает
новый неизменяемый параллельный вектор, состоящий из всех элементов этого неизменяемого параллельного вектора, за которым следует минимальное количество вхождений
elem, так что результирующий неизменяемый параллельный вектор имеет длину как минимумlen.
- Классы-определения
- ParSeqLike → GenSeqLike
def par: ParVector[T]
Возвращает параллельную реализацию этого набора.
Для большинства типов наборов этот метод создаёт новый параллельный набор, копируя все элементы. Для этих наборов par занимает линейное время. Изменяемые наборы в этой категории не создают изменяемый параллельный набор, имеющий тот же базовый набор данных, поэтому изменения в одном наборе не будут отражены в другом.
Специфические наборы (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельный набор, который разделяет один и тот же базовый набор данных. Для этих наборов par занимает постоянное или сублинейное время.
Все параллельные наборы возвращают ссылку на себя.
- возвращает
параллельная реализация этого набора
- Классы-определения
- ParIterableLike → CustomParallelizable → Parallelizable
def parCombiner: Combiner[T, ParVector[T]]
Реализация par по умолчанию использует комбайнер, предоставленный этим методом, для создания нового параллельного набора.
- возвращает
комбайнер для параллельного набора типа
ParRepr
- Атрибуты
- protected[this]
- Классы-определения
- CustomParallelizable → Parallelizable
def partition(pred: (T) ⇒ Boolean): (ParVector[T], ParVector[T])
Разделяет этот параллельный набор на два параллельных набора в соответствии с предикатом.
- pred
предикат для разделения.
- возвращает
пара параллельных наборов: первый параллельный набор состоит из всех элементов, удовлетворяющих предикату
p, а второй параллельный набор состоит из всех элементов, которые не удовлетворяют ему. Относительный порядок элементов в получившихся параллельных наборах может не сохраняться.
- Классы-определения
- ParIterableLike → GenTraversableLike
def patch(from: Int, that: GenSeq[A], replaced: Int): ParVector[A]
Создаёт новый неизменяемый параллельный вектор, где фрагмент элементов в этом неизменяемом параллельном векторе заменяется другой последовательностью.
- from
индекс первого заменяемого элемента
- replaced
количество элементов, подлежащих удалению в исходном неизменяемом параллельном векторе
- возвращает
новый неизменяемый параллельный вектор, состоящий из всех элементов этого неизменяемого параллельного вектора, за исключением того, что
replacedэлементов, начиная сfrom, заменяютсяpatch.
- Классы-определения
- ParSeqLike → GenSeqLike
def prefixLength(p: (T) ⇒ Boolean): Int
Возвращает длину самого длинного префикса, элементы которого удовлетворяют некоторому предикату.
Примечание: может не завершиться для наборов бесконечной размерности.
- p
предикат, используемый для проверки элементов.
- возвращает
длину самого длинного префикса этой общей последовательности, при которой каждый элемент сегмента удовлетворяет предикату
p.
- Классы-определения
- GenSeqLike
def product: A
Перемножает элементы этого набора.
- возвращает
произведение всех элементов этого неизменяемого параллельного вектора чисел типа
Int. ВместоInt, любой другой типTс неявной реализациейNumeric[T]может использоваться в качестве типа элемента неизменяемого параллельного вектора и как тип результатаproduct. Примеры таких типов:Long,Float,Double,BigInt.
- Классы-определения
- ParIterableLike → GenTraversableOnce
def reduce[U >: T](op: (U, U) ⇒ U): U
Уменьшает элементы этой последовательности, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть недетерминированным.
Обратите внимание, что у этого метода отличается сигнатура от методов reduceLeft и reduceRight трактата Traversable. Результат уменьшения может быть только супертипом параметра типа этого параллельного набора T.
- U
Параметр типа для бинарного оператора, являющийся супертипом
T.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора reduce
opко всем элементам, если коллекция непуста.
- Definition Classes
- ParIterableLike → GenTraversableOnce
- Исключения
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, содержащее результат применения оператора reduce
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
- Исключения
UnsupportedOperationExceptionесли это параллельное множество элементов пусто.
def reduceRightOption[U >: T](op: (T, U) ⇒ U): Option[U]
Необязательно применяет бинарный оператор ко всем элементам этого параллельного итерируемого множества справа налево.
Примечание: не будет завершаться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен. или оператор ассоциативен и коммутативен.
- op
бинарный оператор.
- returns
значение option, содержащее результат
reduceRight(op), если это параллельное множество элементов непусто,Noneв противном случае.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def repr: ParVector[T]
- Definition Classes
- 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.
- Attributes
- protected
- Definition Classes
- ParIterableLike
def reverse: ParVector[T]
Возвращает новый параллельный итерируемый объект с элементами в обратном порядке.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
Новый параллельный итерируемый объект со всеми элементами этого параллельного итерируемого объекта в обратном порядке.
- Definition Classes
- ParSeqLike → GenSeqLike
def reverseMap[B](f: (A) ⇒ B): ParVector[B]
Создаёт новую коллекцию, применяя функцию ко всем элементам этого неизменяемого параллельного вектора и собирая результаты в обратном порядке.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: xs.reverseMap(f) эквивалентно xs.reverse.map(f), но может быть более эффективным.
- B
тип элементов возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- returns
новый неизменяемый параллельный вектор, полученный путём применения данной функции
fк каждому элементу этого неизменяемого параллельного вектора и сбора результатов в обратном порядке.
- Definition Classes
- ParSeqLike → GenSeqLike
def sameElements(that: GenIterable[A]): Boolean
Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и этот неизменяемый параллельный вектор.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
Примечание: не будет завершаться для коллекций бесконечного размера.
- that
коллекция для сравнения.
- returns
true, если обе коллекции содержат одинаковые элементы в одинаковом порядке,falseв противном случае.
- Definition Classes
- ParSeqLike → ParIterableLike → GenIterableLike
def scan(z: T)(op: (T, T) ⇒ T): ParVector[T]
Вычисляет префиксную сумму элементов коллекции.
Примечание: нейтральный элемент z может быть применён более одного раза.
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- returns
новый неизменяемый параллельный вектор, содержащий префиксную сумму элементов в этом неизменяемом параллельном векторе
- Definition Classes
- ParIterableLike → GenTraversableLike
def scanBlockSize: Int
- Attributes
- protected[this]
- Definition Classes
- ParIterableLike
def scanLeft[S, That](z: S)(op: (S, T) ⇒ S)(implicit bf: CanBuildFrom[ParVector[T], S, That]): That
Производит коллекцию, содержащую кумулятивные результаты применения оператора слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
явное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
коллекция с промежуточными результатами
- Definition Classes
- ParIterableLike → GenTraversableLike
def scanRight[S, That](z: S)(op: (T, S) ⇒ S)(implicit bf: CanBuildFrom[ParVector[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 segmentLength(p: (T) ⇒ Boolean, from: Int): Int
Возвращает длину самого длинного сегмента элементов, начиная с заданной позиции, удовлетворяющего некоторому предикату.
Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут устанавливать и считывать состояние indexFlag.
Флаг индекса изначально установлен на максимальное целое значение.
- p
предикат, используемый для проверки элементов
- from
начальное смещение для поиска
- returns
длина самого длинного сегмента элементов, начинающегося с
fromи удовлетворяющего предикату
- Definition Classes
- ParSeqLike → GenSeqLike
def seq: immutable.Vector[T]
- Definition Classes
- ParVector → ParIterableLike → GenSeq → GenIterable → GenTraversable → GenSeqLike → Parallelizable → GenTraversableOnce
def sequentially[S, That <: Parallel](b: (immutable.Vector[T]) ⇒ Parallelizable[S, That]): ParVector[T]
- Attributes
- protected[this]
- Definition Classes
- ParIterableLike
def size: Int
Размер этого параллельного итерируемого.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
количество элементов в этом параллельном итерируемом.
- Definition Classes
- ParSeqLike → GenTraversableLike → GenTraversableOnce
def sizeHintIfCheap: Int
Размер этой коллекции или итератора, если он может быть вычислен без особых затрат.
- returns
количество элементов в этой коллекции или итераторе, или -1, если размер нельзя определить быстро
- Attributes
- protected[collection]
- Definition Classes
- GenTraversableOnce
def slice(unc_from: Int, unc_until: Int): ParVector[T]
Выбирает интервал элементов. Полученный набор состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не является упорядоченным.
- unc_from
наименьший индекс для включения из этого параллельного итерируемого объекта.
- unc_until
наименьший индекс для исключения из этого параллельного итерируемого объекта.
- returns
параллельный итерируемый объект, содержащий элементы, большие или равные индексу
from, простирающиеся до (но не включая) индексаuntilэтого параллельного итерируемого объекта.
- Definition Classes
- ParIterableLike → GenTraversableLike
def span(pred: (T) ⇒ Boolean): (ParVector[T], ParVector[T])
Разделяет этот параллельный итерируемый объект на пару префикс/суффикс в соответствии с предикатом.
Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут устанавливать и считывать indexFlag состояние. Флаг индекса первоначально устанавливается в максимальное целочисленное значение.
- pred
предикат, используемый для проверки элементов
- returns
пара, состоящая из самого длинного префикса коллекции, для которого все элементы удовлетворяют
pred, и остальная часть коллекции
- Definition Classes
- ParIterableLike → GenTraversableLike
def splitAt(n: Int): (ParVector[T], ParVector[T])
Разделяет этот параллельный итерируемый объект на два в заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен.
- n
позиция, в которой нужно разделить.
- returns
пара параллельных итерируемых объектов, состоящая из первых
nэлементов этого параллельного итерируемого объекта и других элементов.
- Definition Classes
- ParIterableLike → GenTraversableLike
def splitter: SeqSplitter[T]
Более усовершенствованная версия итератора, найденного в ParallelIterable трайте, этот итератор можно разделить на произвольные подмножества итераторов.
- returns
итератор, который можно разделить на подмножества точного размера
- Definition Classes
- ParVector → ParSeqLike → ParIterableLike
def startsWith[S](that: GenSeq[S], offset: Int): Boolean
Проверяет, содержит ли этот параллельный итерируемый объект заданную последовательность в заданном индексе.
Этот метод будет использовать abort возможности сигнализации. Это означает, что разделители могут отправлять и читать abort сигналы.
- S
тип элемента
thatпараллельной последовательности- that
параллельная последовательность, для которой ищется эта последовательность
- offset
начальный смещение для поиска
- returns
trueесли в этой последовательности есть последовательностьthat, начинающаяся сoffset,falseв противном случае
- Definition Classes
- ParSeqLike → GenSeqLike
def startsWith[B](that: GenSeq[B]): Boolean
Проверяет, начинается ли эта общая последовательность с данной последовательности.
- that
тестируемая последовательность
- returns
trueесли в этой коллекцииthatявляется префиксом,falseв противном случае.
- Definition Classes
- GenSeqLike
def stringPrefix: String
Определяет префикс представления этого объекта.
- returns
строковое представление, которое начинается с результата
toStringпримененного к этому параллельному итерируемому объекту. По умолчанию строковый префикс — это простое имя класса коллекции параллельного итерируемого объекта.
- Definition Classes
- ParSeq → ParIterable → GenTraversableLike
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: ParVector[T]
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
параллельное итерируемое множество, состоящее из всех элементов этого параллельного итерируемого множества, за исключением первого.
- Definition Classes
- ParIterableLike → GenTraversableLike
- Исключения
UnsupportedOperationException, если параллельное итерируемое множество пусто.
def take(n: Int): ParVector[T]
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно взять из этого параллельного итерируемого множества.
- returns
параллельное итерируемое множество, содержащее только первые
nэлементов этого параллельного итерируемого множества, или же всё параллельное итерируемое множество, если у него меньшеnэлементов. Еслиnотрицательное, возвращает пустое параллельное итерируемое множество.
- Definition Classes
- ParIterableLike → GenTraversableLike
def takeWhile(pred: (T) ⇒ Boolean): ParVector[T]
Выбирает наибольший префикс элементов, удовлетворяющих предикату.
Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут устанавливать и читать indexFlag состояние. Флаг индекса изначально устанавливается в максимальное целое значение.
- pred
предикат для проверки элементов
- returns
наибольший префикс этого параллельного итерируемого множества элементов, удовлетворяющих предикату
pred
- Definition Classes
- ParIterableLike → GenTraversableLike
implicit def task2ops[R, Tp](tsk: SSCTask[R, Tp]): TaskOps[R, Tp]
- Атрибуты
- 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
- См. также
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
итерируемое множество, содержащее все элементы этого параллельного итерируемого множества.
- 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]
- Неявный
- Этот член добавлен с помощью неявного преобразования из ParVector[T] в CollectionsHaveToParArray[ParVector[T], T] выполняемого методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование будет выполнено только в том случае, если неявное значение типа (ParVector[T]) ⇒ GenTraversableOnce[T] находится в области видимости.
- Definition Classes
- CollectionsHaveToParArray
def toParCollection[U >: T, That](cbf: () ⇒ Combiner[U, That]): That
- Attributes
- protected
- Definition Classes
- ParIterableLike
def toParMap[K, V, That](cbf: () ⇒ Combiner[(K, V), That])(implicit ev: <:<[T, (K, V)]): That
- Attributes
- protected
- Definition Classes
- ParIterableLike
def toSeq: ParSeq[T]
Преобразует эту изменяемую параллельную последовательность в последовательность. Как и в случае с toIterable, она ленивая в этой реализации по умолчанию, так как эта TraversableOnce может быть ленивой и не вычисляться.
Примечание: не завершится для коллекций бесконечного размера.
- returns
последовательность, содержащую все элементы этой изменяемой параллельной последовательности.
- Definition Classes
- ParSeq → ParIterable → ParSeqLike → ParIterableLike → GenSeqLike → GenTraversableOnce
def toSet[U >: T]: ParSet[U]
Преобразует это параллельное итерируемое множество в множество.
Примечание: не завершится для коллекций бесконечного размера.
- returns
множество, содержащее все элементы этого параллельного итерируемого множества.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toStream: Stream[T]
Преобразует это параллельное итерируемое множество в поток.
- returns
поток, содержащий все элементы этого параллельного итерируемого множества.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toString(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- returns
строковое представление объекта.
- Definition Classes
- ParSeq → ParSeqLike → ParIterableLike → AnyRef → Any
def toTraversable: GenTraversable[T]
Преобразует это параллельное итерируемое множество в неопределяемое множество. Вернёт ту же коллекцию, если этот экземпляр уже является итерируемым множеством.
Примечание: не завершится для коллекций бесконечного размера.
- returns
итерируемое множество, содержащее все элементы этого параллельного итерируемого множества.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toVector: immutable.Vector[T]
Преобразует эту неизменяемую параллельную векторную коллекцию в вектор.
Примечание: не завершится для коллекций бесконечного размера.
- returns
вектор, содержащий все элементы этой неизменяемой параллельной векторной коллекции.
- Definition Classes
- ParVector → ParIterableLike → GenTraversableOnce
def transpose[B](implicit asTraversable: (T) ⇒ GenTraversableOnce[B]): ParVector[ParVector[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.- returns
двумерная коллекция коллекций, у которой n-я строка — это n-й столбец этой коллекции.
- Definition Classes
- GenericTraversableTemplate
- Annotations
- @migration
- Migration
(Изменено в версии 2.9.0)
transposeвызываетIllegalArgumentExceptionесли коллекции не имеют одинаковый размер.- Exceptions thrown
IllegalArgumentExceptionесли все коллекции в этой коллекции не имеют одинаковый размер.
def union(that: GenSeq[T]): ParVector[T]
Создаёт новую последовательность, которая содержит все элементы этой неизменяемой параллельной векторной коллекции, а также все элементы заданной последовательности. xs union ys эквивалентно xs ++ ys.
Другой способ выразить это — xs union ys вычисляет упорядоченное объединение множеств xs и ys. Таким образом, union — это аналог diff и intersect, которые также работают с множествами.
Примечание: не завершится для коллекций бесконечного размера.
- that
последовательность, которую нужно добавить.
- returns
новая неизменяемая параллельная векторная коллекция, которая содержит все элементы этой неизменяемой параллельной векторной коллекции, за которыми следуют все элементы
that.
- Definition Classes
- GenSeqLike
def unzip[A1, A2](implicit asPair: (T) ⇒ (A1, A2)): (ParVector[A1], ParVector[A2])
Преобразует это множество пар в два множества первой и второй половины каждой пары.
val xs = Traversable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three))
- A1
тип первой половины пар элементов
- A2
тип второй половины пар элементов
- asPair
явное преобразование, утверждающее, что тип элемента этого множества является парой.
- returns
пара множеств, содержащая первую и вторую половину каждой пары элементов этого множества.
- Definition Classes
- GenericTraversableTemplate
def unzip3[A1, A2, A3](implicit asTriple: (T) ⇒ (A1, A2, A3)): (ParVector[A1], ParVector[A2], ParVector[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
явное преобразование, утверждающее, что тип элемента этого множества является тройкой.
- returns
тройка множеств, содержащая первый, второй и третий члены каждой тройки элементов этого множества.
- Definition Classes
- GenericTraversableTemplate
def updated(index: Int, elem: A): ParVector[A]
Копия этого неизменяемого параллельного вектора с одним изменённым элементом.
- index
позиция замены
- elem
элемент замены
- returns
копия этого неизменяемого параллельного вектора с элементом в позиции
indexзаменённым наelem.
- Definition Classes
- ParSeqLike → GenSeqLike
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long): Unit
def withFilter(pred: (T) ⇒ Boolean): ParVector[T]
- Definition Classes
- ParIterableLike
def wrap[R](body: ⇒ R): NonDivisible[R]
- Attributes
- protected
- Definition Classes
- ParIterableLike
def zip[B](that: GenIterable[B]): ParVector[(A, B)]
Возвращает неизменяемый параллельный вектор, сформированный из этого неизменяемого параллельного вектора и другой итерируемой коллекции, комбинируя соответствующие элементы парами. Если одна из двух коллекций длиннее другой, ее оставшиеся элементы игнорируются.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- returns
новый неизменяемый параллельный вектор, содержащий пары, состоящие из соответствующих элементов этого неизменяемого параллельного вектора и
that. Длина возвращаемой коллекции — минимальное значение длин этого неизменяемого параллельного вектора иthat.
- Definition Classes
- ParSeqLike → ParIterableLike → GenIterableLike
def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): ParVector[(A, B)]
Возвращает неизменяемый параллельный вектор, сформированный из этого неизменяемого параллельного вектора и другой итерируемой коллекции, комбинируя соответствующие элементы парами. Если одна из двух коллекций короче другой, для расширения более короткой коллекции до длины более длинной используется заполнение.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- thisElem
элемент, используемый для заполнения результата, если этот неизменяемый параллельный вектор короче
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче этого неизменяемого параллельного вектора.- returns
новый неизменяемый параллельный вектор, содержащий пары, состоящие из соответствующих элементов этого неизменяемого параллельного вектора и
that. Длина возвращаемой коллекции — максимальное значение длин этого неизменяемого параллельного вектора иthat. Если этот неизменяемый параллельный вектор корочеthat, значенияthisElemиспользуются для дополнения результата. Еслиthatкороче этого неизменяемого параллельного вектора, значенияthatElemиспользуются для дополнения результата.
- Definition Classes
- ParIterableLike → GenIterableLike
def zipWithIndex: ParVector[(A, Int)]
Объединяет этот неизменяемый параллельный вектор с его индексами.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
Новый неизменяемый параллельный вектор, содержащий пары, состоящие из всех элементов этого неизменяемого параллельного вектора, сопоставленных с их индексом. Индексы начинаются с
0.
- Definition Classes
- ParIterableLike → GenIterableLike
List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))
def →[B](y: B): (ParVector[T], B)
- Неявный
- Этот член добавлен неявным преобразованием из ParVector[T] в ArrowAssoc[ParVector[T]], выполненное методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/parallel/immutable/ParVector.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.Каждая параллельная коллекция связана с конкретным пулом вилок/соединений, в котором хранятся неактивные рабочие потоки. Пул вилок/соединений содержит другую информацию, такую как уровень параллелизма, то есть количество используемых процессоров. При создании коллекции ей назначается по умолчанию пул вилок/соединений, найденный в
scala.parallelпакете.Параллельные коллекции не обязательно упорядочены в терминах операции
foreach(см.Traversable). Параллельные последовательности имеют хорошо определённый порядок для итераторов — создание итератора и линейное обход элементов всегда даст один и тот же порядок. Однако, массовые операции, такие какforeach,mapилиfilterвсегда происходят в неопределённом порядке для всех параллельных коллекций.Существующие реализации параллельных коллекций предоставляют жёсткие параллельные итераторы. Строгие параллельные итераторы знают количество элементов, которые им ещё предстоит пройти. Также возможно предоставить нестрогие параллельные итераторы, которые не знают количество оставшихся элементов. Для этого новая реализация коллекции должна переопределить
isStrictSplitterCollectionнаfalse. Это сделает некоторые операции недоступными.Для создания новой параллельной коллекции необходимо расширить
ParIterableтрейт и реализоватьsize,splitter,newCombinerиseq. Наличие неявной фабрики комбинирующих объектов требует расширения этого трейта, а также предоставления компаньон-объекта, как и в обычных коллекциях.Метод
sizeреализован как операция постоянного времени для параллельных коллекций, и параллельные операции коллекций полагаются на это предположение.Функции высшего порядка, переданные определённым операциям, могут содержать побочные эффекты. Поскольку реализации массовых операций могут быть не последовательными, это означает, что побочные эффекты могут быть непредсказуемыми и могут создавать гонки данных, тупики или недействительность состояния, если не принять мер предосторожности. Программисту нужно либо избегать использования побочных эффектов, либо использовать некоторую форму синхронизации при доступе к изменяемым данным.
тип элементов вектора
2.9
Обзор библиотеки параллельных коллекций Scala раздел о
ParVectorдля получения дополнительной информации.