scala.collection.parallel.mutable
A parallel hash map.
ParHashMap
is a parallel map which internally keeps elements within a hash table.
It uses chaining to resolve collisions.
Standard accessor task that iterates over the elements of the collection.
The implementation class of the set returned by keySet
.
The implementation class of the iterable returned by values
.
A parallel iterator returning all the entries.
Performs two tasks in parallel, and waits for both to finish.
Parallel iterators are split iterators that have additional accessor and
transformer methods defined in terms of methods next
and hasNext
.
The type implementing this traversable
Sequentially performs one task after another.
A stackable modification that ensures signal contexts get passed along the iterators.
A class supporting filtered operations.
o != arg0
is the same as !(o == (arg0))
.
o != arg0
is the same as !(o == (arg0))
.
the object to compare against this object for dis-equality.
false
if the receiver object is equivalent to the argument; true
otherwise.
Creates a new map containing two or more key/value mappings and all the key/value mappings of this map.
Creates a new map containing two or more key/value mappings and all the key/value mappings of this map.
Specified mappings will override existing mappings from this map with the same keys.
the type of the added values
the first element to add.
the second element to add.
the remaining elements to add.
a new map containing mappings of this map and two or more specified mappings.
Creates a new map containing a new key/value mapping and all the key/value mappings of this map.
Creates a new map containing a new key/value mapping and all the key/value mappings of this map.
Mapping kv
will override existing mappings from this map with the same key.
the type of the value in the key/value pair.
the key/value mapping to be added
a new map containing mappings of this map and the mapping kv
.
[use case] Concatenates this parallel hash map
Concatenates this parallel hash map
the element type of the returned collection.
the traversable to append.
a new parallel hash map
Concatenates this parallel hash map
Concatenates this parallel hash map
the class of the returned collection. Where possible, That
is
the same class as the current collection class Repr
, but this
depends on the element type B
being admissible for that class,
which means that an implicit instance of type CanBuildFrom[Repr, B, That]
is found.
the traversable to append.
an implicit value of class CanBuildFrom
which determines
the result class That
from the current representation type Repr
and
and the new element type B
.
a new collection of type That
which contains all elements
of this parallel hash map
Creates a new map containing the key/value mappings provided by the specified traversable object and all the key/value mappings of this map.
Creates a new map containing the key/value mappings provided by the specified traversable object and all the key/value mappings of this map.
Note that existing mappings from this map with the same key as those in xs
will be overriden.
the type of the added values
the traversable object.
a new map containing mappings of this map and those provided by xs
.
This overload exists because: for the implementation of ++: we should reuse that of ++ because many collections override it with more efficient versions.
This overload exists because: for the implementation of ++: we should reuse that of ++ because many collections override it with more efficient versions. Since TraversableOnce has no '++' method, we have to implement that directly, but Traversable and down can use the overload.
[use case] Concatenates this parallel hash map
Concatenates this parallel hash map
the element type of the returned collection.
the traversable to append.
a new parallel hash map
Concatenates this parallel hash map
Concatenates this parallel hash map
the element type of the returned collection.
the class of the returned collection. Where possible, That
is
the same class as the current collection class Repr
, but this
depends on the element type B
being admissible for that class,
which means that an implicit instance of type CanBuildFrom[Repr, B, That]
is found.
the traversable to append.
an implicit value of class CanBuildFrom
which determines
the result class That
from the current representation type Repr
and
and the new element type B
.
a new collection of type That
which contains all elements
of this parallel hash map
adds all elements produced by a TraversableOnce to this parallel hash map
adds all elements produced by a TraversableOnce to this parallel hash map
the parallel hash map
Adds a new key/value pair to this map.
Adds a new key/value pair to this map. If the map already contains a mapping for the key, it will be overridden by the new value.
the key/value pair.
the map itself
adds two or more elements to this parallel hash map
adds two or more elements to this parallel hash map
the first element to add.
the second element to add.
the remaining elements to add.
the parallel hash map
Creates a new map with all the key/value mappings of this map except mappings with keys equal to any of the two or more specified keys.
Creates a new map with all the key/value mappings of this map except mappings with keys equal to any of the two or more specified keys.
the first element to remove.
the second element to remove.
the remaining elements to remove.
a new map containing all the mappings of this map except mappings
with a key equal to elem1
, elem2
or any of elems
.
Creates a new map with all the key/value mappings of this map except the key/value mapping with the specified key.
Creates a new map with all the key/value mappings of this map except the key/value mapping with the specified key.
the key to be removed
a new map with all the mappings of this map except that with a key key
.
Creates a new map with all the key/value mappings of this map except mappings with keys equal to any of those provided by the specified traversable object.
Creates a new map with all the key/value mappings of this map except mappings with keys equal to any of those provided by the specified traversable object.
the traversable object.
a new map with all the key/value mappings of this map except mappings
with a key equal to a key from xs
.
Removes all elements produced by an iterator from this parallel hash map
Removes all elements produced by an iterator from this parallel hash map
the parallel hash map
Removes a key from this map.
Removes a key from this map.
the key to be removed
the map itself.
Removes two or more elements from this parallel hash map
Removes two or more elements from this parallel hash map
the first element to remove.
the second element to remove.
the remaining elements to remove.
the parallel hash map
Applies a binary operator to a start value and all elements of this parallel hash map
Applies a binary operator to a start value and all elements of this parallel hash map
the result type of the binary operator.
the start value.
the binary operator.
the result of inserting op
between consecutive elements of this parallel hash map
Applies a binary operator to all elements of this parallel hash map
Applies a binary operator to all elements of this parallel hash map
the result type of the binary operator.
the start value
the binary operator
the result of inserting op
between consecutive elements of this parallel hash map
o == arg0
is the same as if (o eq null) arg0 eq null else o.equals(arg0)
.
o == arg0
is the same as if (o eq null) arg0 eq null else o.equals(arg0)
.
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
o == arg0
is the same as o.equals(arg0)
.
o == arg0
is the same as o.equals(arg0)
.
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
Add entry to table pre: no entry with same key exists
Add entry to table pre: no entry with same key exists
Appends all bindings of this map to a string builder using start, end, and separator strings.
Appends all bindings of this map to a string builder using start, end, and separator strings.
The written text begins with the string start
and ends with the string
end
. Inside, the string representations of all bindings of this map
in the form of key -> value
are separated by the string sep
.
the builder to which strings are appended.
the starting string.
the separator string.
the ending string.
the string builder b
to which elements were appended.
Appends all elements of this parallel hash map
Appends all elements of this parallel hash map
the string builder to which elements are appended.
the string builder b
to which elements were appended.
Appends all elements of this parallel hash map
Appends all elements of this parallel hash map
the string builder to which elements are appended.
the separator string.
the string builder b
to which elements were appended.
Aggregates the results of applying an operator to subsequent elements.
Aggregates the results of applying an operator to subsequent elements.
This is a more general form of fold
and reduce
. It has similar semantics, but does
not require the result to be a supertype of the element type. It traverses the elements in
different partitions sequentially, using seqop
to update the result, and then
applies combop
to results from different partitions. The implementation of this
operation may operate on an arbitrary number of collection partitions, so combop
may be invoked arbitrary number of times.
For example, one might want to process some elements and then produce a Set
. In this
case, seqop
would process an element and append it to the list, while combop
would concatenate two lists from different partitions together. The initial value
z
would be an empty set.
pc.aggregate(Set[Int]())(_ += process(_), _ ++ _)
Another example is calculating geometric mean from a collection of doubles (one would typically require big doubles for this).
the type of accumulated results
the initial value for the accumulated result of the partition - this
will typically be the neutral element for the seqop
operator (e.g.
Nil
for list concatenation or 0
for summation)
an operator used to accumulate results within a partition
an associative operator used to combine results from different partitions
Composes this partial function with a transformation function that gets applied to results of this partial function.
Composes this partial function with a transformation function that gets applied to results of this partial function.
the result type of the transformation function.
the transformation function
a partial function with the same domain as this partial function, which maps
arguments x
to k(this(x))
.
Retrieves the value which is associated with the given key.
Retrieves the value which is associated with the given key. This
method invokes the default
method of the map if there is no mapping
from the given key to a value. Unless overridden, the default
method throws a
NoSuchElementException
.
the key
the value associated with the given key, or the result of the
map's default
method, if none exists.
This method is used to cast the receiver object to be of type T0
.
This method is used to cast the receiver object to be of type T0
.
Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression
1.asInstanceOf[String]
will throw a ClassCastException
at runtime, while the expression
List(1).asInstanceOf[List[String]]
will not. In the latter example, because the type argument is erased as
part of compilation it is not possible to check whether the contents of the list are of the requested typed.
the receiver object.
Method called from equality methods, so that user-defined subclasses can refuse to be equal to other collections of the same kind.
Method called from equality methods, so that user-defined subclasses can refuse to be equal to other collections of the same kind.
The object with which this parallel hash map
true
, if this parallel hash map
Removes all bindings from the map.
Removes all bindings from the map. After this operation has completed, the map will be empty.
Remove all entries from table
This method creates and returns a copy of the receiver object.
[use case] Builds a new collection by applying a partial function to all elements of this parallel hash map
Builds a new collection by applying a partial function to all elements of this parallel hash map
the element type of the returned collection.
the partial function which filters and maps the parallel hash map
a new parallel hash map
Builds a new collection by applying a partial function to all elements of this parallel hash map
Builds a new collection by applying a partial function to all elements of this parallel hash map
the class of the returned collection. Where possible, That
is
the same class as the current collection class Repr
, but this
depends on the element type B
being admissible for that class,
which means that an implicit instance of type CanBuildFrom[Repr, B, That]
is found.
the partial function which filters and maps the parallel hash map
an implicit value of class CanBuildFrom
which determines
the result class That
from the current representation type Repr
and
and the new element type B
.
a new collection of type That
resulting from applying the partial function
pf
to each element on which it is defined and collecting the results.
The order of the elements is preserved.
Finds the first element of the parallel hash map
Finds the first element of the parallel hash map
the partial function
an option value containing pf applied to the first
value for which it is defined, or None
if none exists.
Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)
The factory companion object that builds instances of class ParHashMap.
The factory companion object that builds instances of class ParHashMap.
(or its Iterable
superclass where class ParHashMap is not a Seq
.)
Composes two instances of Function1 in a new Function1, with this function applied last.
Composes two instances of Function1 in a new Function1, with this function applied last.
the type to which function g
can be applied
a function A => T1
a new function f
such that f(x) == apply(g(x))
Tests whether this map contains a binding for a key.
Tests whether this map contains a binding for a key.
the key
true
if there is a binding for key
in this map, false
otherwise.
[use case] Copies elements of this parallel hash map
Copies elements of this parallel hash map
the array to fill.
the starting index.
the maximal number of elements to copy.
Copies elements of this parallel hash map
Copies elements of this parallel hash map
the array to fill.
the starting index.
the maximal number of elements to copy.
[use case] Copies values of this parallel hash map
Copies values of this parallel hash map
the array to fill.
Copies values of this parallel hash map
Copies values of this parallel hash map
the type of the elements of the array.
the array to fill.
[use case] Copies values of this parallel hash map
Copies values of this parallel hash map
the array to fill.
the starting index.
Copies values of this parallel hash map
Copies values of this parallel hash map
the type of the elements of the array.
the array to fill.
the starting index.
Copies all elements of this parallel hash map
Copies all elements of this parallel hash map
The buffer to which elements are copied.
Counts the number of elements in the parallel hash map
Counts the number of elements in the parallel hash map
the predicate used to test elements.
the number of elements satisfying the predicate p
.
Defines the default value computation for the map, returned when a key is not found The method implemented here throws an exception, but it might be overridden in subclasses.
Defines the default value computation for the map, returned when a key is not found The method implemented here throws an exception, but it might be overridden in subclasses.
the given key value for which a binding is missing.
Selects all elements except first n ones.
Selects all elements except first n ones.
Note: might return different results for different runs, unless the underlying collection type is ordered.
the number of elements to drop from this parallel hash map
a parallel hash map
Selects all elements except last n ones.
Selects all elements except last n ones.
Note: might return different results for different runs, unless the underlying collection type is ordered.
The number of elements to take
a parallel hash map
Drops all elements in the longest prefix of elements that satisfy the predicate, and returns a collection composed of the remaining elements.
Drops all elements in the longest prefix of elements that satisfy the predicate, and returns a collection composed of the remaining elements.
This method will use indexFlag
signalling capabilities. This means
that splitters may set and read the indexFlag
state.
The index flag is initially set to maximum integer value.
the predicate used to test the elements
a collection composed of all the elements after the longest prefix of elements in this parallel hash map
use iterator' instead
The empty map of the same type as this map
The empty map of the same type as this map
an empty map of type This
.
An iterator returning all entries
An iterator returning all entries
use entriesIterator instead
An iterator returning all entries.
This method is used to test whether the argument (arg0
) is a reference to the
receiver object (this
).
This method is used to test whether the argument (arg0
) is a reference to the
receiver object (this
).
The eq
method implements an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence relation] on
non-null instances of AnyRef
:
* It is reflexive: for any non-null instance x
of type AnyRef
, x.eq(x)
returns true
.
* It is symmetric: for any non-null instances x
and y
of type AnyRef
, x.eq(y)
returns true
if and
only if y.eq(x)
returns true
.
* It is transitive: for any non-null instances x
, y
, and z
of type AnyRef
if x.eq(y)
returns true
and y.eq(z)
returns true
, then x.eq(z)
returns true
.
Additionally, the eq
method has three other properties.
* It is consistent: for any non-null instances x
and y
of type AnyRef
, multiple invocations of
x.eq(y)
consistently returns true
or consistently returns false
.
* For any non-null instance x
of type AnyRef
, x.eq(null)
and null.eq(x)
returns false
.
* null.eq(null)
returns true
.
When overriding the equals
or hashCode
methods, it is important to ensure that their behavior is
consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2
), they
should be equal to each other (o1 == o2
) and they should hash to the same value (o1.hashCode == o2.hashCode
).
the object to compare against this object for reference equality.
true
if the argument is a reference to the receiver object; false
otherwise.
Compares two maps structurally; i.
Tests whether a predicate holds for some element of this parallel hash map
Tests whether a predicate holds for some element of this parallel hash map
true if p
holds for some element, false otherwise
Selects all elements of this parallel hash map
Selects all elements of this parallel hash map
a new parallel hash map
Filters this map by retaining only keys satisfying a predicate.
Filters this map by retaining only keys satisfying a predicate.
the predicate used to test keys
an immutable map consisting only of those key value pairs of this map where the key satisfies
the predicate p
. The resulting map wraps the original map without copying any elements.
Selects all elements of this parallel hash map
Selects all elements of this parallel hash map
a new parallel hash map
This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.
This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.
The details of when and if the finalize
method are invoked, as well as the interaction between finalize
and non-local returns and exceptions, are all platform dependent.
Finds some element in the collection for which the predicate holds, if such an element exists.
Finds some element in the collection for which the predicate holds, if such an element exists. The element may not necessarily be the first such element in the iteration order.
If there are multiple elements obeying the predicate, the choice is nondeterministic.
This method will use abort
signalling capabilities. This means
that splitters may send and read abort
signals.
an option value with the element if such an element exists, or None
otherwise
Find entry with given key in table, null if not found.
Find entry with given key in table, null if not found.
use head' instead
None
if iterable is empty.
None
if iterable is empty.
use headOption' instead
[use case] Builds a new collection by applying a function to all elements of this parallel hash map
Builds a new collection by applying a function to all elements of this parallel hash map
the element type of the returned collection.
the function to apply to each element.
a new parallel hash map
Builds a new collection by applying a function to all elements of this parallel hash map
Builds a new collection by applying a function to all elements of this parallel hash map
the class of the returned collection. Where possible, That
is
the same class as the current collection class Repr
, but this
depends on the element type B
being admissible for that class,
which means that an implicit instance of type CanBuildFrom[Repr, B, That]
is found.
the function to apply to each element.
an implicit value of class CanBuildFrom
which determines
the result class That
from the current representation type Repr
and
and the new element type B
.
a new collection of type That
resulting from applying the given collection-valued function
f
to each element of this parallel hash map
[use case] Converts this parallel hash map
Converts this parallel hash map
the type of the elements of each traversable collection.
a new parallel hash map
Converts this parallel hash map
Converts this parallel hash map
the type of the elements of each traversable collection.
an implicit conversion which asserts that the element type of this parallel hash map
a new parallel hash map
Folds the elements of this sequence using the specified associative binary operator.
Folds the elements of this sequence using the specified associative binary operator. The order in which the elements are reduced is unspecified and may be nondeterministic.
Note this method has a different signature than the foldLeft
and foldRight
methods of the trait Traversable
.
The result of folding may only be a supertype of this parallel collection's
type parameter T
.
a type parameter for the binary operator, a supertype of T
.
a neutral element for the fold operation, it may be added to the result
an arbitrary number of times, not changing the result (e.g. Nil
for list concatenation,
0 for addition, or 1 for multiplication)
a binary operator that must be associative
the result of applying fold operator op
between all the elements and z
Applies a binary operator to a start value and all elements of this parallel hash map
Applies a binary operator to a start value and all elements of this parallel hash map
the start value.
the binary operator.
the result of inserting op
between consecutive elements of this parallel hash map
Applies a binary operator to all elements of this parallel hash map
Applies a binary operator to all elements of this parallel hash map
the start value.
the binary operator.
the result of inserting op
between consecutive elements of this parallel hash map
Tests whether a predicate holds for all elements of this parallel hash map
Tests whether a predicate holds for all elements of this parallel hash map
true if p
holds for all elements, false otherwise
Applies a function f
to all the elements of parallel hash map
Applies a function f
to all the elements of parallel hash map
the result type of the function applied to each element, which is always discarded
function applied to each element
The generic builder that builds instances of ParHashMap at arbitrary element types.
The generic builder that builds instances of ParHashMap at arbitrary element types.
Optionally returns the value associated with a key.
Optionally returns the value associated with a key.
the key value
an option value containing the value associated with key
in this map,
or None
if none exists.
Returns a representation that corresponds to the dynamic class of the receiver object.
Returns a representation that corresponds to the dynamic class of the receiver object.
The nature of the representation is platform dependent.
a representation that corresponds to the dynamic class of the receiver object.
[use case] Returns the value associated with a key, or a default value if the key is not contained in the map.
Returns the value associated with a key, or a default value if the key is not contained in the map.
the key.
a computation that yields a default value in case no binding for key
is
found in the map.
the value associated with key
if it exists,
otherwise the result of the default
computation.
Returns the value associated with a key, or a default value if the key is not contained in the map.
Returns the value associated with a key, or a default value if the key is not contained in the map.
the result type of the default computation.
the key.
a computation that yields a default value in case no binding for key
is
found in the map.
the value associated with key
if it exists,
otherwise the result of the default
computation.
If given key is already in this map, returns associated value.
If given key is already in this map, returns associated value.
Otherwise, computes value from given expression op
, stores with key
in map and returns that value.
the key to test
the computation yielding the value to associate with key
, if
key
is previously unbound.
the value associated with key (either previously or as a result of executing the method).
Partitions this parallel hash map
Partitions this parallel hash map
the type of keys returned by the discriminator function.
the discriminator function.
A map from keys to parallel hash map
Partitions elements in fixed size parallel hash map
Partitions elements in fixed size parallel hash map
the number of elements per group
An iterator producing parallel hash map
Iterator#grouped
Tests whether this parallel hash map
Tests whether this parallel hash map
true
if this collection is known to have finite size, false
otherwise.
Returns a hash code value for the object.
Returns a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)
) yet
not be equal (o1.equals(o2)
returns false
). A degenerate implementation could always return 0
.
However, it is required that if two objects are equal (o1.equals(o2)
returns true
) that they have
identical hash codes (o1.hashCode.equals(o2.hashCode)
). Therefore, when overriding this method, be sure
to verify that the behavior is consistent with the equals
method.
the hash code value for the object.
Selects the first element of this parallel hash map
Selects the first element of this parallel hash map
the first element of this parallel hash map
Optionally selects the first element.
Optionally selects the first element.
Note: might return different results for different runs, unless the underlying collection type is ordered.
the first element of this parallel hash map
Selects all elements except the last.
Selects all elements except the last.
Note: might return different results for different runs, unless the underlying collection type is ordered.
a parallel hash map
Iterates over the inits of this parallel hash map
Iterates over the inits of this parallel hash map
an iterator over all the inits of this parallel hash map
List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)
Tests whether this map contains a binding for a key.
Tests whether this map contains a binding for a key. This method,
which implements an abstract method of trait PartialFunction
,
is equivalent to contains
.
the key
true
if there is a binding for key
in this map, false
otherwise.
Tests whether the map is empty.
Tests whether the map is empty.
true
if the map does not contain any key/value binding, false
otherwise.
This method is used to test whether the dynamic type of the receiver object is T0
.
This method is used to test whether the dynamic type of the receiver object is T0
.
Note that the test result of the test is modulo Scala's erasure semantics. Therefore the expression
1.isInstanceOf[String]
will return false
, while the expression List(1).isInstanceOf[List[String]]
will
return true
. In the latter example, because the type argument is erased as part of compilation it is not
possible to check whether the contents of the list are of the requested typed.
true
if the receiver object is an instance of erasure of type T0
; false
otherwise.
Denotes whether this parallel collection has strict splitters.
Denotes whether this parallel collection has strict splitters.
This is true in general, and specific collection instances may choose to
override this method. Such collections will fail to execute methods
which rely on splitters being strict, i.e. returning a correct value
in the remaining
method.
This method helps ensure that such failures occur on method invocations, rather than later on and in unpredictable ways.
Tests whether this parallel hash map
Tests whether this parallel hash map
true
Creates a new split iterator used to traverse the elements of this collection.
Creates a new split iterator used to traverse the elements of this collection.
By default, this method is implemented in terms of the protected parallelIterator
method.
a split iterator
Collects all keys of this map in a set.
Collects all keys of this map in a set.
a set containing all keys of this map.
Creates an iterator for all keys.
Creates an iterator for all keys.
an iterator over all keys.
Creates an iterator for all keys.
Selects the last element.
Selects the last element.
Note: might return different results for different runs, unless the underlying collection type is ordered.
The last element of this parallel hash map
Optionally selects the last element.
Optionally selects the last element.
Note: might return different results for different runs, unless the underlying collection type is ordered.
the last element of this parallel hash map
Turns this partial function into an plain function returning an Option
result.
Turns this partial function into an plain function returning an Option
result.
a function that takes an argument x
to Some(this(x))
if this
is defined for x
, and to None
otherwise.
Function.unlift
[use case] Builds a new collection by applying a function to all elements of this parallel hash map
Builds a new collection by applying a function to all elements of this parallel hash map
the element type of the returned collection.
the function to apply to each element.
a new parallel hash map
Builds a new collection by applying a function to all elements of this parallel hash map
Builds a new collection by applying a function to all elements of this parallel hash map
the class of the returned collection. Where possible, That
is
the same class as the current collection class Repr
, but this
depends on the element type B
being admissible for that class,
which means that an implicit instance of type CanBuildFrom[Repr, B, That]
is found.
the function to apply to each element.
an implicit value of class CanBuildFrom
which determines
the result class That
from the current representation type Repr
and
and the new element type B
.
a new collection of type That
resulting from applying the given function
f
to each element of this parallel hash map
use mapValues' instead
Creates a new builder by applying a transformation function to the results of this builder.
Creates a new builder by applying a transformation function to the results of this builder.
the type of collection returned by f
.
the transformation function.
a new builder which is the same as the current builder except that a transformation function is applied to this builder's result.
Transforms this map by applying a function to every retrieved value.
Transforms this map by applying a function to every retrieved value.
the function used to transform values of this map.
a map view which maps every key of this map
to f(this(key))
. The resulting map wraps the original map without copying any elements.
[use case] Finds the largest element.
Finds the largest element.
the largest element of this parallel hash map
Finds the largest element.
Finds the largest element.
the largest element of this parallel hash map
[use case] Finds the smallest element.
Finds the smallest element.
the smallest element of this parallel hash map
Finds the smallest element.
Finds the smallest element.
the smallest element of this parallel hash map
Displays all elements of this parallel hash map
Displays all elements of this parallel hash map
a string representation of this parallel hash map
Displays all elements of this parallel hash map
Displays all elements of this parallel hash map
the separator string.
a string representation of this parallel hash map
List(1, 2, 3).mkString("|") = "1|2|3"
Displays all elements of this parallel hash map
Displays all elements of this parallel hash map
the starting string.
the separator string.
the ending string.
a string representation of this parallel hash map
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
o.ne(arg0)
is the same as !(o.eq(arg0))
.
o.ne(arg0)
is the same as !(o.eq(arg0))
.
the object to compare against this object for reference dis-equality.
false
if the argument is not a reference to the receiver object; true
otherwise.
The newBuilder
operation returns a parallel builder assigned to this collection's fork/join pool.
The newBuilder
operation returns a parallel builder assigned to this collection's fork/join pool.
This method forwards the call to newCombiner
.
Tests whether the parallel hash map
Tests whether the parallel hash map
true
if the parallel hash map
Wakes up a single thread that is waiting on the receiver object's monitor.
Wakes up a single thread that is waiting on the receiver object's monitor.
Wakes up all threads that are waiting on the receiver object's monitor.
Wakes up all threads that are waiting on the receiver object's monitor.
Composes this partial function with a fallback partial function which gets applied where this partial function is not defined.
Composes this partial function with a fallback partial function which gets applied where this partial function is not defined.
the argument type of the fallback function
the result type of the fallback function
the fallback function
a partial function which has as domain the union of the domains
of this partial function and that
. The resulting partial function
takes x
to this(x)
where this
is defined, and to that(x)
where it is not.
Returns a parallel implementation of this collection.
Returns a parallel implementation of this collection.
For most collection types, this method creates a new parallel collection by copying
all the elements. For these collection, par
takes linear time. Mutable collections
in this category do not produce a mutable parallel collection that has the same
underlying dataset, so changes in one collection will not be reflected in the other one.
Specific collections (e.g. ParArray
or mutable.ParHashMap
) override this default
behaviour by creating a parallel collection which shares the same underlying dataset.
For these collections, par
takes constant or sublinear time.
All parallel collections return a reference to themselves.
a parallel implementation of this collection
The default par
implementation uses the combiner provided by this method
to create a new parallel collection.
The default par
implementation uses the combiner provided by this method
to create a new parallel collection.
a combiner for the parallel collection of type ParRepr
Creates a new parallel iterator used to traverse the elements of this parallel collection.
Creates a new parallel iterator used to traverse the elements of this parallel collection.
This iterator is more specific than the iterator of the returned by iterator
, and augmented
with additional accessor and transformer methods.
a parallel iterator
Partitions this parallel hash map
Partitions this parallel hash map
a pair of parallel hash map
[use case] Multiplies up the elements of this collection.
Multiplies up the elements of this collection.
the product of all elements in this parallel hash map
Multiplies up the elements of this collection.
Multiplies up the elements of this collection.
an implicit parameter defining a set of numeric operations
which includes the *
operator to be used in forming the product.
the product of all elements of this parallel hash map
returns a projection that can be used to call non-strict filter
,
map
, and flatMap
methods that build projections
of the collection.
returns a projection that can be used to call non-strict filter
,
map
, and flatMap
methods that build projections
of the collection.
use view' instead
Adds a new key/value pair to this map and optionally returns previously bound value.
Adds a new key/value pair to this map and optionally returns previously bound value. If the map already contains a mapping for the key, it will be overridden by the new value.
the key to update
the new value
an option value containing the value associated with the key
before the put
operation was executed, or None
if key
was not defined in the map before.
Reduces the elements of this sequence using the specified associative binary operator.
Reduces the elements of this sequence using the specified associative binary operator.
The order in which the operations on elements are performed is unspecified and may be nondeterministic.
Note this method has a different signature than the reduceLeft
and reduceRight
methods of the trait Traversable
.
The result of reducing may only be a supertype of this parallel collection's
type parameter T
.
A type parameter for the binary operator, a supertype of T
.
A binary operator that must be associative.
The result of applying reduce operator op
between all the elements if the collection is nonempty.
Applies a binary operator to all elements of this parallel hash map
Applies a binary operator to all elements of this parallel hash map
the binary operator.
the result of inserting op
between consecutive elements of this parallel hash map
Optionally applies a binary operator to all elements of this parallel hash map
Optionally applies a binary operator to all elements of this parallel hash map
the result type of the binary operator.
the binary operator.
an option value containing the result of reduceLeft(op)
is this parallel hash map
Optionally reduces the elements of this sequence using the specified associative binary operator.
Optionally reduces the elements of this sequence using the specified associative binary operator.
The order in which the operations on elements are performed is unspecified and may be nondeterministic.
Note this method has a different signature than the reduceLeftOption
and reduceRightOption
methods of the trait Traversable
.
The result of reducing may only be a supertype of this parallel collection's
type parameter T
.
A type parameter for the binary operator, a supertype of T
.
A binary operator that must be associative.
An option value containing result of applying reduce operator op
between all
the elements if the collection is nonempty, and None
otherwise.
Applies a binary operator to all elements of this parallel hash map
Applies a binary operator to all elements of this parallel hash map
the binary operator.
the result of inserting op
between consecutive elements of this parallel hash map
Optionally applies a binary operator to all elements of this parallel hash map
Optionally applies a binary operator to all elements of this parallel hash map
the result type of the binary operator.
the binary operator.
an option value containing the result of reduceRight(op)
is this parallel hash map
Removes a key from this map, returning the value associated previously with that key as an option.
Removes a key from this map, returning the value associated previously with that key as an option.
the key to be removed
an option value containing the value associated previously with key
,
or None
if key
was not defined in the map before.
Remove entry from table if present.
If given key is defined in this map, remove it and return associated value as an Option.
If given key is defined in this map, remove it and return associated value as an Option. If key is not present return None.
the key to be removed
Use remove' instead
The collection of type parallel hash map
The collection of type parallel hash map
The result when this map is used as a builder
Retains only those mappings for which the predicate
p
returns true
.
Retains only those mappings for which the predicate
p
returns true
.
The test predicate
Optionally reuses an existing combiner for better performance.
Optionally reuses an existing combiner for better performance. By default it doesn't - subclasses may override this behaviour.
The provided combiner oldc
that can potentially be reused will be either some combiner from the previous computational task, or None
if there
was no previous phase (in which case this method must return newc
).
The combiner that is the result of the previous task, or None
if there was no previous task.
The new, empty combiner that can be used.
Either newc
or oldc
.
[use case] Checks if the other iterable collection contains the same elements in the same order as this parallel hash map
Checks if the other iterable collection contains the same elements in the same order as this parallel hash map
the collection to compare with.
true
, if both collections contain the same elements in the same order, false
otherwise.
Checks if the other iterable collection contains the same elements in the same order as this parallel hash map
Checks if the other iterable collection contains the same elements in the same order as this parallel hash map
the type of the elements of collection that
.
the collection to compare with.
true
, if both collections contain the same elements in the same order, false
otherwise.
[use case] Computes a prefix scan of the elements of the collection.
Computes a prefix scan of the elements of the collection.
neutral element for the operator op
the associative operator for the scan
a new parallel hash map
Computes a prefix scan of the elements of the collection.
Computes a prefix scan of the elements of the collection.
Note: The neutral element z
may be applied more than once.
element type of the resulting collection
type of the resulting collection
neutral element for the operator op
the associative operator for the scan
combiner factory which provides a combiner
a collection containing the prefix scan of the elements in the original collection
Produces a collection containing cummulative results of applying the operator going left to right.
Produces a collection containing cummulative results of applying the operator going left to right.
Note: might return different results for different runs, unless the underlying collection type is ordered.
the type of the elements in the resulting collection
the actual type of the resulting collection
the initial value
the binary operator applied to the intermediate result and the element
an implicit value of class CanBuildFrom
which determines
the result class That
from the current representation type Repr
and
and the new element type B
.
collection with intermediate results
Produces a collection containing cummulative results of applying the operator going right to left.
Produces a collection containing cummulative results of applying the operator going right to left. The head of the collection is the last cummulative result.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Example:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
the type of the elements in the resulting collection
the actual type of the resulting collection
the initial value
the binary operator applied to the intermediate result and the element
an implicit value of class CanBuildFrom
which determines
the result class That
from the current representation type Repr
and
and the new element type B
.
collection with intermediate results
A version of this collection with all of the operations implemented sequentially (i.
A version of this collection with all of the operations implemented sequentially (i.e. in a single-threaded manner).
This method returns a reference to this collection. In parallel collections, it is redefined to return a sequential implementation of this collection. In both cases, it has O(1) complexity.
a sequential view of the collection.
The size of this parallel hash map
The size of this parallel hash map
the number of elements in this parallel hash map
Gives a hint that one expects the result
of this builder
to have the same size as the given collection, plus some delta.
Gives a hint that one expects the result
of this builder
to have the same size as the given collection, plus some delta. This will
provide a hint only if the collection is known to have a cheap
size
method. Currently this is assumed to be the case if and only if
the collection is of type IndexedSeqLike
.
Some builder classes
will optimize their representation based on the hint. However,
builder implementations are still required to work correctly even if the hint is
wrong, i.e. a different number of elements is added.
the collection which serves as a hint for the result's size.
a correction to add to the coll.size
to produce the size hint.
Gives a hint how many elements are expected to be added
when the next result
is called.
Gives a hint how many elements are expected to be added
when the next result
is called. Some builder classes
will optimize their representation based on the hint. However,
builder implementations are still required to work correctly even if the hint is
wrong, i.e. a different number of elements is added.
the hint how many elements will be added.
Gives a hint how many elements are expected to be added
when the next result
is called, together with an upper bound
given by the size of some other collection.
Gives a hint how many elements are expected to be added
when the next result
is called, together with an upper bound
given by the size of some other collection. Some builder classes
will optimize their representation based on the hint. However,
builder implementations are still required to work correctly even if the hint is
wrong, i.e. a different number of elements is added.
the hint how many elements will be added.
the bounding collection. If it is an IndexedSeqLike, then sizes larger than collection's size are reduced.
The array keeping track of the number of elements in 32 element blocks.
The array keeping track of the number of elements in 32 element blocks.
Selects an interval of elements.
Selects an interval of elements. The returned collection is made up
of all elements x
which satisfy the invariant:
from <= indexOf(x) < until
Note: might return different results for different runs, unless the underlying collection type is ordered.
a parallel hash map
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.)
the number of elements per group
An iterator producing parallel hash map
Iterator#sliding
Splits this parallel hash map
Splits this parallel hash map
the predicate used to test the elements
a pair consisting of the longest prefix of the collection for which all
the elements satisfy pred
, and the rest of the collection
Splits this parallel hash map
Splits this parallel hash map
the position at which to split.
a pair of parallel hash map
Defines the prefix of this object's toString
representation.
Defines the prefix of this object's toString
representation.
a string representation which starts the result of toString
applied to this parallel hash map
[use case] Sums up the elements of this collection.
Sums up the elements of this collection.
the sum of all elements in this parallel hash map
Sums up the elements of this collection.
Sums up the elements of this collection.
an implicit parameter defining a set of numeric operations
which includes the +
operator to be used in forming the sum.
the sum of all elements of this parallel hash map
The actual hash table.
The number of mappings contained in this hash table.
The number of mappings contained in this hash table.
Selects all elements except the first.
Selects all elements except the first.
Note: might return different results for different runs, unless the underlying collection type is ordered.
a parallel hash map
Iterates over the tails of this parallel hash map
Iterates over the tails of this parallel hash map
an iterator over all the tails of this parallel hash map
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
Selects first n elements.
Selects first n elements.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Tt number of elements to take from this parallel hash map
a parallel hash map
Selects last n elements.
Selects last n elements.
Note: might return different results for different runs, unless the underlying collection type is ordered.
the number of elements to take
a parallel hash map
Takes the longest prefix of elements that satisfy the predicate.
Takes the longest prefix of elements that satisfy the predicate.
This method will use indexFlag
signalling capabilities. This means
that splitters may set and read the indexFlag
state.
The index flag is initially set to maximum integer value.
the predicate used to test the elements
the longest prefix of this parallel hash map
The underlying collection seen as an instance of ParHashMap
.
The underlying collection seen as an instance of ParHashMap
.
By default this is implemented as the current collection object itself,
but this can be overridden.
Some minimal number of elements after which this collection should be handled sequentially by different processors.
Some minimal number of elements after which this collection should be handled sequentially by different processors.
This method depends on the size of the collection and the parallelism level, which are both specified as arguments.
the size based on which to compute the threshold
the parallelism level based on which to compute the threshold
the maximum number of elements for performing operations sequentially
The next size value at which to resize (capacity * load factor).
The next size value at which to resize (capacity * load factor).
[use case] Converts this parallel hash map
Converts this parallel hash map
an array containing all elements of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
an array containing all elements of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
a buffer containing all elements of this parallel hash map
A conversion from collections of type Repr
to ParHashMap
objects.
A conversion from collections of type Repr
to ParHashMap
objects.
By default this is implemented as just a cast, but this can be overridden.
Converts this parallel hash map
Converts this parallel hash map
an indexed sequence containing all elements of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
an Iterable
containing all elements of this parallel hash map
Returns an Iterator over the elements in this parallel hash map
Returns an Iterator over the elements in this parallel hash map
an Iterator containing all elements of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
a list containing all elements of this parallel hash map
[use case] Converts this parallel hash map
Converts this parallel hash map
a map of type immutable.Map[T, U]
containing all key/value pairs of type (T, U)
of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
a map containing all elements of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
a sequence containing all elements of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
a set containing all elements of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
a stream containing all elements of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
a string representation of this collection. By default this
string consists of the stringPrefix
of this parallel hash map
Converts this parallel hash map
Converts this parallel hash map
a Traversable containing all elements of this parallel hash map
Applies a transformation function to all values contained in this map.
Applies a transformation function to all values contained in this map. The transformation function produces new values from existing keys associated values.
the transformation to apply
the map itself.
Transposes this parallel hash map
Transposes this parallel hash map
the type of the elements of each traversable collection.
an implicit conversion which asserts that the element type of this parallel hash map
a two-dimensional parallel hash map
Converts this parallel hash map
Converts this parallel hash map
an implicit conversion which asserts that the element type of this parallel hash map
a pair parallel hash map
Converts this parallel hash map
Converts this parallel hash map
a triple parallel hash map
Adds a new key/value pair to this map.
Adds a new key/value pair to this map. If the map already contains a mapping for the key, it will be overridden by the new value.
The key to update
The new value
Creates a new map consisting of all key/value pairs of the current map plus a new pair of a given key and value.
Collects all values of this map in an iterable collection.
Collects all values of this map in an iterable collection.
the values of this map as an iterable.
Creates an iterator for all values in this map.
Creates an iterator for all values in this map.
an iterator over all values that are associated with some key in this map.
Creates a non-strict view of this parallel hash map
Creates a non-strict view of this parallel hash map
a non-strict view of this parallel hash map
Creates a non-strict view of a slice of this parallel hash map
Creates a non-strict view of a slice of this parallel hash map
the index of the first element of the view
the index of the element following the view
a non-strict view of a slice of this parallel hash map
The same map with a given default function.
The same map with a given default function.
Invoking transformer methods (e.g. map
) will not preserve the default value.
the function mapping keys to values, used for non-present keys
a wrapper of the map with a default value
The same map with a given default value.
The same map with a given default value.
Invoking transformer methods (e.g. map
) will not preserve the default value.
the function mapping keys to values, used for non-present keys
a wrapper of the map with a default value
Creates a non-strict filter of this parallel hash map
Creates a non-strict filter of this parallel hash map
the predicate used to test elements.
an object of class WithFilter
, which supports
map
, flatMap
, foreach
, and withFilter
operations.
All these operations apply to those elements of this parallel hash map
[use case] Returns a parallel hash map
Returns a parallel hash map
the type of the second half of the returned pairs
The iterable providing the second half of each result pair
a new parallel hash map
Returns a parallel hash map
Returns a parallel hash map
the class of the returned collection. Where possible, That
is
the same class as the current collection class Repr
, but this
depends on the element type (A1, B)
being admissible for that class,
which means that an implicit instance of type CanBuildFrom[Repr, (A1, B), That]
.
is found.
The iterable providing the second half of each result pair
an implicit value of class CanBuildFrom
which determines the
result class That
from the current representation type Repr
and the new element type (A1, B)
.
a new collection of type That
containing pairs consisting of
corresponding elements of this parallel hash map
[use case] Returns a parallel hash map
Returns a parallel hash map
the type of the second half of the returned pairs
The iterable providing the second half of each result pair
the element to be used to fill up the result if this parallel hash map
the element to be used to fill up the result if that
is shorter than this parallel hash map
a new parallel hash map
Returns a parallel hash map
Returns a parallel hash map
the iterable providing the second half of each result pair
the element to be used to fill up the result if this parallel hash map
the element to be used to fill up the result if that
is shorter than this parallel hash map
a new collection of type That
containing pairs consisting of
corresponding elements of this parallel hash map
[use case] Zips this parallel hash map
Zips this parallel hash map
A new parallel hash map
Zips this parallel hash map
Zips this parallel hash map
the class of the returned collection. Where possible, That
is
the same class as the current collection class Repr
, but this
depends on the element type (A1, Int)
being admissible for that class,
which means that an implicit instance of type CanBuildFrom[Repr, (A1, Int), That]
.
is found.
A new collection of type That
containing pairs consisting of all elements of this
parallel hash map
A parallel hash map.
ParHashMap
is a parallel map which internally keeps elements within a hash table. It uses chaining to resolve collisions.