On this page
Class scala.collection.mutable.CollisionProofHashMap
final class CollisionProofHashMap[K, V](initialCapacity: Int, loadFactor: Double)(implicit ordering: Ordering[K]) extends AbstractMap[K, V] with MapOps[K, V, Map, CollisionProofHashMap[K, V]] with StrictOptimizedIterableOps[(K, V), Iterable, CollisionProofHashMap[K, V]] with StrictOptimizedMapOps[K, V, Map, CollisionProofHashMap[K, V]]
This class implements mutable maps using a hashtable with red-black trees in the buckets for good worst-case performance on hash collisions. An Ordering
is required for the element type. Equality as determined by the Ordering
has to be consistent with equals
and hashCode
. Universal equality of numeric types is not supported (similar to AnyRefMap
).
See also | "Scala's Collection Library overview" section on |
---|---|
Supertypes |
28 types |
Constructors
Source
Concrete methods
Source@inline
Alias for concat
Definition Classes | MapOps |
---|
Source
Definition Classes | Growable |
---|
Source
def addOne(elem: (K, V)): CollisionProofHashMap[K, V]
Source@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
override def apply(key: K): V
Source
Source
def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)])(implicit @implicitNotFound ordering: Ordering[K2]): CollisionProofHashMap[K2, V2]
Builds a new sorted map by applying a partial function to all elements of this mutable collision-proof hash map on which the function is defined.
Value parameters |
|
---|---|
Returns | a new mutable collision-proof hash map resulting from applying the given partial function |
Source
Definition Classes | StrictOptimizedMapOps -> MapOps |
---|
Source
Definition Classes | MapOps |
---|
Source
override def empty: CollisionProofHashMap[K, V]
Definition Classes | MapFactoryDefaults -> IterableFactoryDefaults -> IterableOps |
---|
Source
def flatMap[K2, V2](f: (K, V) => IterableOnce[(K2, V2)])(implicit @implicitNotFound ordering: Ordering[K2]): CollisionProofHashMap[K2, V2]
Builds a new CollisionProofHashMap
by applying a function to all elements of this mutable collision-proof hash map and using the elements of the resulting collections.
Value parameters |
|
---|---|
Returns | a new mutable collision-proof hash map resulting from applying the given collection-valued function |
Source
Definition Classes | IterableOnceOps |
---|
Source
override def foreachEntry[U](f: (K, V) => U): Unit
Definition Classes | MapOps |
---|
Source
Source
Source
override def getOrElse[V1 >: V](key: K, default: => V1): V1
Definition Classes | MapOps |
---|
Source
override def getOrElseUpdate(key: K, defaultValue: => V): V
Definition Classes | MapOps |
---|
Source
Definition Classes | IterableOnceOps |
---|
Source
Definition Classes | IterableOnce |
---|
Source
override def keysIterator: Iterator[K]
Definition Classes | MapOps |
---|
Source
Definition Classes | MapOps -> Growable -> IterableOnce |
---|
Source
def map[K2, V2](f: (K, V) => (K2, V2))(implicit @implicitNotFound ordering: Ordering[K2]): CollisionProofHashMap[K2, V2]
Builds a new CollisionProofHashMap
by applying a function to all elements of this mutable collision-proof hash map.
Value parameters |
|
---|---|
Returns | a new mutable collision-proof hash map resulting from applying the given function |
Source
Definition Classes | MapOps |
---|
Source
Definition Classes | MapOps |
---|
Source
Definition Classes | IterableOnceOps |
---|
Source
Definition Classes | Builder |
---|
Source
def subtractOne(elem: K): CollisionProofHashMap[K, V]
Source
Definition Classes | MapOps |
---|
Inherited methods
Source@inline
Alias for concat
Inherited from | IterableOps |
---|
Source@inline
Alias for addAll
Inherited from | Growable |
---|
Source@inline
final def +=(elem: (K, V)): CollisionProofHashMap[K, V]
Alias for addOne
Inherited from | Growable |
---|
Source@inline
Alias for subtractAll
Inherited from | Shrinkable |
---|
Source@inline
final def -=(elem: K): CollisionProofHashMap[K, V]
Alias for subtractOne
Inherited from | Shrinkable |
---|
Source@inline
Appends all elements of this collection to a string builder. The written text consists of the string representations (w.r.t. the method toString
) of all elements of this collection without any separator string.
Example:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> val h = a.addString(b)
h: StringBuilder = 1234
Value parameters |
|
---|---|
Returns | the string builder |
Inherited from | IterableOnceOps |
Source@inline
Appends all elements of this collection to a string builder using a separator string. The written text consists of the string representations (w.r.t. the method toString
) of all elements of this collection, separated by the string sep
.
Example:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
Value parameters |
|
---|---|
Returns | the string builder |
Inherited from | IterableOnceOps |
Source
Definition Classes | MapOps -> IterableOnceOps |
---|---|
Inherited from | MapOps |
Source
Composes this partial function with another partial function that gets applied to results of this partial function.
Note that calling isDefinedAt on the resulting partial function may apply the first partial function and execute its side effect. For efficiency, it is recommended to call applyOrElse instead of isDefinedAt or apply.
Type parameters |
|
---|---|
Value parameters |
|
Returns | a partial function with the domain of this partial function narrowed by other partial function, which maps arguments |
Inherited from | PartialFunction |
Source
override def andThen[C](k: V => C): PartialFunction[K, C]
Composes this partial function with a transformation function that gets applied to results of this partial function.
If the runtime type of the function is a PartialFunction
then the other andThen
method is used (note its cautions).
Type parameters |
|
---|---|
Value parameters |
|
Returns | a partial function with the domain of this partial function, possibly narrowed by the specified function, which maps arguments |
Definition Classes | PartialFunction -> Function1 |
Inherited from | PartialFunction |
Source
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1
Definition Classes | MapOps -> PartialFunction |
---|---|
Inherited from | MapOps |
Source
Inherited from | Map |
---|
Source
override def clone(): CollisionProofHashMap[K, V]
Source
Definition Classes | StrictOptimizedMapOps -> MapOps |
---|---|
Inherited from | StrictOptimizedMapOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Finds the first element of the collection for which the given partial function is defined, and applies the partial function to it.
Note: may not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Value parameters |
|
---|---|
Returns | an option value containing pf applied to the first value for which it is defined, or |
Example |
|
Inherited from | IterableOnceOps |
Source
Composes another partial function k
with this partial function so that this partial function gets applied to results of k
.
Note that calling isDefinedAt on the resulting partial function may apply the first partial function and execute its side effect. For efficiency, it is recommended to call applyOrElse instead of isDefinedAt or apply.
Type parameters |
|
---|---|
Value parameters |
|
Returns | a partial function with the domain of other partial function narrowed by this partial function, which maps arguments |
Inherited from | PartialFunction |
Source@unspecialized
def compose[A](g: A => K): A => V
Composes two instances of Function1 in a new Function1, with this function applied last.
Type parameters |
|
---|---|
Value parameters |
|
Returns | a new function |
Inherited from | Function1 |
Source
Returns a new iterable collection containing the elements from the left hand operand followed by the elements from the right hand operand. The element type of the iterable collection is the most specific superclass encompassing the element types of the two operands.
Type parameters |
|
---|---|
Value parameters |
|
Returns | a new iterable collection which contains all elements of this iterable collection followed by all elements of |
Inherited from | IterableOps |
Source
Copy elements to an array, returning the number of elements written.
Fills the given array xs
starting at index start
with at most len
elements of this collection.
Copying will stop once either all the elements of this collection have been copied, or the end of the array is reached, or len
elements have been copied.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the number of elements written to the array |
Note | Reuse: After calling this method, one should discard the iterator it was called on. Using it is undefined and subject to change. |
Inherited from | IterableOnceOps |
Source@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Copy elements to an array, returning the number of elements written.
Fills the given array xs
starting at index start
with values of this collection.
Copying will stop once either all the elements of this collection have been copied, or the end of the array is reached.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the number of elements written to the array |
Note | Reuse: After calling this method, one should discard the iterator it was called on. Using it is undefined and subject to change. |
Inherited from | IterableOnceOps |
Source@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Copy elements to an array, returning the number of elements written.
Fills the given array xs
starting at index start
with values of this collection.
Copying will stop once either all the elements of this collection have been copied, or the end of the array is reached.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the number of elements written to the array |
Note | Reuse: After calling this method, one should discard the iterator it was called on. Using it is undefined and subject to change. |
Inherited from | IterableOnceOps |
Source
Tests whether every element of this collection's iterator relates to the corresponding element of another collection by satisfying a test predicate.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns |
|
Inherited from | IterableOnceOps |
Source
Counts the number of elements in the collection which satisfy a predicate.
Note: will not terminate for infinite-sized collections.
Value parameters |
|
---|---|
Returns | the number of elements satisfying the predicate |
Inherited from | IterableOnceOps |
Source@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: K): V
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.
Value parameters |
|
---|---|
Inherited from | MapOps |
Source
Inherited from | IterableOps |
---|
Source
The rest of the collection without its n
last elements. For linear, immutable collections this should avoid making a copy.
Note: Even when applied to a view or a lazy collection it will always force the elements.
Definition Classes | StrictOptimizedIterableOps -> IterableOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Inherited from | IterableOps |
---|
Source
def elementWise: ElementWiseExtractor[K, V]
Returns an extractor object with a unapplySeq
method, which extracts each element of a sequence data.
Example |
|
---|---|
Inherited from | PartialFunction |
Source
Equality of maps is implemented using the lookup method get. This method returns true
if
the argument
o
is aMap
,the two maps have the same size, and
for every
(key, value)
pair in this map,other.get(key) == Some(value)
.
The implementation of equals
checks the canEqual method, so subclasses of Map
can narrow down the equality to specific map types. The Map
implementations in the standard library can all be compared, their canEqual
methods return true
.
Note: The equals
method only respects the equality laws (symmetry, transitivity) if the two maps use the same key equivalence function in their lookup operation. For example, the key equivalence operation in a scala.collection.immutable.TreeMap is defined by its ordering. Comparing a TreeMap
with a HashMap
leads to unexpected results if ordering.equiv(k1, k2)
(used for lookup in TreeMap
) is different from k1 == k2
(used for lookup in HashMap
).
scala> import scala.collection.immutable._
scala> val ord: Ordering[String] = _ compareToIgnoreCase _
scala> TreeMap("A" -> 1)(ord) == HashMap("a" -> 1)
val res0: Boolean = false
scala> HashMap("a" -> 1) == TreeMap("A" -> 1)(ord)
val res1: Boolean = true
Value parameters |
|
---|---|
Returns |
|
Definition Classes | Map -> Equals -> Any |
Inherited from | Map |
Source
Tests whether a predicate holds for at least one element of this collection.
Note: may not terminate for infinite-sized collections.
Value parameters |
|
---|---|
Returns |
|
Inherited from | IterableOnceOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Retains only those mappings for which the predicate p
returns true
.
Value parameters |
|
---|---|
Inherited from | MapOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Finds the first element of the collection satisfying a predicate, if any.
Note: may not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Value parameters |
|
---|---|
Returns | an option value containing the first element in the collection that satisfies |
Inherited from | IterableOnceOps |
Source
Definition Classes | StrictOptimizedMapOps -> MapOps |
---|---|
Inherited from | StrictOptimizedMapOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1
Folds the elements of this collection using the specified associative binary operator. The default implementation in IterableOnce
is equivalent to foldLeft
but may be overridden for more efficient traversal orders.
The order in which operations are performed on elements is unspecified and may be nondeterministic.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the result of applying the fold operator |
Inherited from | IterableOnceOps |
Source
def foldLeft[B](z: B)(op: (B, (K, V)) => B): B
Applies a binary operator to a start value and all elements of this collection, going left to right.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the result of inserting |
Inherited from | IterableOnceOps |
Source
def foldRight[B](z: B)(op: ((K, V), B) => B): B
Applies a binary operator to all elements of this collection and a start value, going right to left.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the result of inserting |
Inherited from | IterableOnceOps |
Source
Tests whether a predicate holds for all elements of this collection.
Note: may not terminate for infinite-sized collections.
Value parameters |
|
---|---|
Returns |
|
Inherited from | IterableOnceOps |
Source
Partitions this iterable collection into a map of iterable collections according to some discriminator function.
Note: Even when applied to a view or a lazy collection it will always force the elements.
Type parameters |
|
---|---|
Value parameters |
|
Returns | A map from keys to iterable collections such that the following invariant holds: That is, every key |
Inherited from | IterableOps |
Source
Partitions this iterable collection into a map of iterable collections according to a discriminator function key
. Each element in a group is transformed into a value of type B
using the value
function.
It is equivalent to groupBy(key).mapValues(_.map(f))
, but more efficient.
case class User(name: String, age: Int)
def namesByAge(users: Seq[User]): Map[Int, Seq[String]] =
users.groupMap(_.age)(_.name)
Note: Even when applied to a view or a lazy collection it will always force the elements.
Type parameters |
|
---|---|
Value parameters |
|
Inherited from | IterableOps |
Source
def groupMapReduce[K, B](key: (K, V) => K)(f: (K, V) => B)(reduce: (B, B) => B): Map[K, B]
Partitions this iterable collection into a map according to a discriminator function key
. All the values that have the same discriminator are then transformed by the f
function and then reduced into a single value with the reduce
function.
It is equivalent to groupBy(key).mapValues(_.map(f).reduce(reduce))
, but more efficient.
def occurrences[A](as: Seq[A]): Map[A, Int] =
as.groupMapReduce(identity)(_ => 1)(_ + _)
Note: Even when applied to a view or a lazy collection it will always force the elements.
Inherited from | IterableOps |
---|
Source
Partitions elements in fixed size iterable collections.
Value parameters |
|
---|---|
Returns | An iterator producing iterable collections of size |
See also | scala.collection.Iterator, method |
Inherited from | IterableOps |
Source
Source
def head: (K, V)
Selects the first element of this iterable collection.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Returns | the first element of this iterable collection. |
---|---|
Throws |
|
Inherited from | IterableOps |
Source
def headOption: Option[(K, V)]
Optionally selects the first element.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Returns | the first element of this iterable collection if it is nonempty, |
---|---|
Inherited from | IterableOps |
Source
def init: CollisionProofHashMap[K, V]
The initial part of the collection without its last element.
Note: Even when applied to a view or a lazy collection it will always force the elements.
Inherited from | IterableOps |
---|
Source
Iterates over the inits of this iterable collection. The first value will be this iterable collection and the final one will be an empty iterable collection, with the intervening values the results of successive applications of init
.
Note: Even when applied to a view or a lazy collection it will always force the elements.
Returns | an iterator over all the inits of this iterable collection |
---|---|
Example |
|
Inherited from | IterableOps |
Source
def isDefinedAt(key: K): Boolean
Tests whether this map contains a binding for a key. This method, which implements an abstract method of trait PartialFunction
, is equivalent to contains
.
Value parameters |
|
---|---|
Returns |
|
Inherited from | MapOps |
Source
override def isTraversableAgain: Boolean
Definition Classes | IterableOps -> IterableOnceOps |
---|---|
Inherited from | IterableOps |
Source
Definition Classes | Iterable -> Iterable -> IterableOps |
---|---|
Inherited from | Iterable |
Source
Collects all keys of this map in a set.
Returns | a set containing all keys of this map. |
---|---|
Inherited from | MapOps |
Source
Returns a Stepper for the keys of this map. See method stepper.
Inherited from | MapOps |
---|
Source
Collects all keys of this map in an iterable collection.
Returns | the keys of this map as an iterable. |
---|---|
Inherited from | MapOps |
Source
def last: (K, V)
Selects the last element.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Returns | The last element of this iterable collection. |
---|---|
Throws |
|
Inherited from | IterableOps |
Source
def lastOption: Option[(K, V)]
Optionally selects the last element.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Returns | the last element of this iterable collection$ if it is nonempty, |
---|---|
Inherited from | IterableOps |
Source
Analogous to zip
except that the elements in each collection are not consumed until a strict operation is invoked on the returned LazyZip2
decorator.
Calls to lazyZip
can be chained to support higher arities (up to 4) without incurring the expense of constructing and deconstructing intermediary tuples.
val xs = List(1, 2, 3)
val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d)
// res == List(4, 8, 12)
Type parameters |
|
---|---|
Value parameters |
|
Returns | a decorator |
Inherited from | Iterable |
Source
Turns this partial function into a plain function returning an Option
result.
Returns | a function that takes an argument |
---|---|
See also | Function.unlift |
Inherited from | PartialFunction |
Source
Definition Classes | StrictOptimizedMapOps -> MapOps |
---|---|
Inherited from | StrictOptimizedMapOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Source
A builder resulting from this builder my mapping the result using f
.
Inherited from | Builder |
---|
Source
def mapValuesInPlace(f: (K, V) => V): CollisionProofHashMap[K, V]
Applies a transformation function to all values contained in this map. The transformation function produces new values from existing keys associated values.
Value parameters |
|
---|---|
Returns | the map itself. |
Inherited from | MapOps |
Source
Finds the largest element.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the largest element of this collection with respect to the ordering |
Throws |
|
Inherited from | IterableOnceOps |
Source
Finds the first element which yields the largest value measured by function f.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the first element of this collection with the largest value measured by function f with respect to the ordering |
Throws |
|
Inherited from | IterableOnceOps |
Source
Finds the first element which yields the largest value measured by function f.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | an option value containing the first element of this collection with the largest value measured by function f with respect to the ordering |
Inherited from | IterableOnceOps |
Source
Finds the largest element.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | an option value containing the largest element of this collection with respect to the ordering |
Inherited from | IterableOnceOps |
Source
Finds the smallest element.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the smallest element of this collection with respect to the ordering |
Throws |
|
Inherited from | IterableOnceOps |
Source
Finds the first element which yields the smallest value measured by function f.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the first element of this collection with the smallest value measured by function f with respect to the ordering |
Throws |
|
Inherited from | IterableOnceOps |
Source
Finds the first element which yields the smallest value measured by function f.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | an option value containing the first element of this collection with the smallest value measured by function f with respect to the ordering |
Inherited from | IterableOnceOps |
Source
Finds the smallest element.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | an option value containing the smallest element of this collection with respect to the ordering |
Inherited from | IterableOnceOps |
Source@inline
Displays all elements of this collection in a string.
Delegates to addString, which can be overridden.
Returns | a string representation of this collection. In the resulting string the string representations (w.r.t. the method |
---|---|
Inherited from | IterableOnceOps |
Source@inline
Displays all elements of this collection in a string using a separator string.
Delegates to addString, which can be overridden.
Value parameters |
|
---|---|
Returns | a string representation of this collection. In the resulting string the string representations (w.r.t. the method |
Example |
|
Inherited from | IterableOnceOps |
Source
Displays all elements of this collection in a string using start, end, and separator strings.
Delegates to addString, which can be overridden.
Value parameters |
|
---|---|
Returns | a string representation of this collection. The resulting string begins with the string |
Example |
|
Inherited from | IterableOnceOps |
Source@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
Tests whether the collection is not empty.
Returns |
|
---|---|
Inherited from | IterableOnceOps |
Source
Composes this partial function with a fallback partial function which gets applied where this partial function is not defined.
Type parameters |
|
---|---|
Value parameters |
|
Returns | a partial function which has as domain the union of the domains of this partial function and |
Inherited from | PartialFunction |
Source
override def partition(p: (K, V) => Boolean): (CollisionProofHashMap[K, V], CollisionProofHashMap[K, V])
Definition Classes | StrictOptimizedIterableOps -> IterableOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Multiplies up the elements of this collection.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the product of all elements of this collection with respect to the |
Inherited from | IterableOnceOps |
Source
def reduce[B >: (K, V)](op: (B, B) => B): B
Reduces the elements of this collection using the specified associative binary operator.
The order in which operations are performed on elements is unspecified and may be nondeterministic.
Type parameters |
|
---|---|
Value parameters |
|
Returns | The result of applying reduce operator |
Throws |
|
Inherited from | IterableOnceOps |
Source
def reduceLeft[B >: (K, V)](op: (B, (K, V)) => B): B
Applies a binary operator to all elements of this collection, going left to right.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the result of inserting |
Throws |
|
Inherited from | IterableOnceOps |
Source
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]
Optionally applies a binary operator to all elements of this collection, going left to right.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
Type parameters |
|
---|---|
Value parameters |
|
Returns | an option value containing the result of |
Inherited from | IterableOnceOps |
Source
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]
Reduces the elements of this collection, if any, using the specified associative binary operator.
The order in which operations are performed on elements is unspecified and may be nondeterministic.
Type parameters |
|
---|---|
Value parameters |
|
Returns | An option value containing result of applying reduce operator |
Inherited from | IterableOnceOps |
Source
def reduceRight[B >: (K, V)](op: ((K, V), B) => B): B
Applies a binary operator to all elements of this collection, going right to left.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the result of inserting |
Throws |
|
Inherited from | IterableOnceOps |
Source
def reduceRightOption[B >: (K, V)](op: ((K, V), B) => B): Option[B]
Optionally applies a binary operator to all elements of this collection, going right to left.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
Type parameters |
|
---|---|
Value parameters |
|
Returns | an option value containing the result of |
Inherited from | IterableOnceOps |
Source
def result(): CollisionProofHashMap[K, V]
Inherited from | MapOps |
---|
Source
Inherited from | IterableOnceOps |
---|
Source
Composes this partial function with an action function which gets applied to results of this partial function. The action function is invoked only for its side effects; its result is ignored.
Note that expression pf.runWith(action)(x)
is equivalent to
if(pf isDefinedAt x) { action(pf(x)); true } else false
except that runWith
is implemented via applyOrElse
and thus potentially more efficient. Using runWith
avoids double evaluation of pattern matchers and guards for partial function literals.
Value parameters |
|
---|---|
Returns | a function which maps arguments |
See also |
|
Inherited from | PartialFunction |
Source
Computes a prefix scan of the elements of the collection.
Note: The neutral element z
may be applied more than once.
Type parameters |
|
---|---|
Value parameters |
|
Returns | a new iterable collection containing the prefix scan of the elements in this iterable collection |
Inherited from | IterableOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Produces a collection containing cumulative results of applying the operator going right to left. The head of the collection is the last cumulative result.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Note: Even when applied to a view or a lazy collection it will always force the elements.
Example:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Type parameters |
|
---|---|
Value parameters |
|
Returns | collection with intermediate results |
Inherited from | IterableOps |
Source
Compares the size of this iterable collection to the size of another Iterable
.
Value parameters |
|
---|---|
Returns | A value The method as implemented here does not call |
Inherited from | IterableOps |
Source
Compares the size of this iterable collection to a test value.
Value parameters |
|
---|---|
Returns | A value The method as implemented here does not call |
See also | |
Inherited from | IterableOps |
Source
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 has a known size 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.
Value parameters |
|
---|---|
Inherited from | Builder |
Source
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.
Value parameters |
|
---|---|
Inherited from | Builder |
Source@inline
final def sizeIs: SizeCompareOps
Returns a value class containing operations for comparing the size of this iterable collection to a test value.
These operations are implemented in terms of sizeCompare(Int)
, and allow the following more readable usages:
this.sizeIs < size // this.sizeCompare(size) < 0
this.sizeIs <= size // this.sizeCompare(size) <= 0
this.sizeIs == size // this.sizeCompare(size) == 0
this.sizeIs != size // this.sizeCompare(size) != 0
this.sizeIs >= size // this.sizeCompare(size) >= 0
this.sizeIs > size // this.sizeCompare(size) > 0
Inherited from | IterableOps |
---|
Source
Inherited from | IterableOps |
---|
Source
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.)
The returned iterator will be empty when called on an empty collection. The last element the iterator produces may be smaller than the window size when the original collection isn't exhausted by the window before it and its last element isn't skipped by the step before it.
Value parameters |
|
---|---|
Returns | An iterator producing iterable collections of size |
See also | scala.collection.Iterator, method |
Example |
|
Inherited from | IterableOps |
Source
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped
.)
An empty collection returns an empty iterator, and a non-empty collection containing fewer elements than the window size returns an iterator that will produce the original collection as its only element.
Value parameters |
|
---|---|
Returns | An iterator producing iterable collections of size |
See also | scala.collection.Iterator, method |
Example |
|
Inherited from | IterableOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Definition Classes | IterableOps -> IterableOnceOps |
---|---|
Inherited from | IterableOps |
Source
Returns a scala.collection.Stepper for the elements of this collection.
The Stepper enables creating a Java stream to operate on the collection, see scala.jdk.StreamConverters. For collections holding primitive values, the Stepper can be used as an iterator which doesn't box the elements.
The implicit scala.collection.StepperShape parameter defines the resulting Stepper type according to the element type of this collection.
For collections of
Int
,Short
,Byte
orChar
, an scala.collection.IntStepper is returnedFor collections of
Double
orFloat
, a scala.collection.DoubleStepper is returnedFor collections of
Long
a scala.collection.LongStepper is returnedFor any other element type, an scala.collection.AnyStepper is returned
Note that this method is overridden in subclasses and the return type is refined to S with EfficientSplit
, for example scala.collection.IndexedSeqOps.stepper. For Steppers marked with scala.collection.Stepper.EfficientSplit, the converters in scala.jdk.StreamConverters allow creating parallel streams, whereas bare Steppers can be converted only to sequential streams.
Inherited from | IterableOnce |
---|
Source
Removes all elements produced by an iterator from this shrinkable collection.
Value parameters |
|
---|---|
Returns | the shrinkable collection itself |
Inherited from | Shrinkable |
Source
Sums up the elements of this collection.
Note: will not terminate for infinite-sized collections.
Type parameters |
|
---|---|
Value parameters |
|
Returns | the sum of all elements of this collection with respect to the |
Inherited from | IterableOnceOps |
Source
def tail: CollisionProofHashMap[K, V]
The rest of the collection without its first element.
Inherited from | IterableOps |
---|
Source
Iterates over the tails of this iterable collection. The first value will be this iterable collection and the final one will be an empty iterable collection, with the intervening values the results of successive applications of tail
.
Returns | an iterator over all the tails of this iterable collection |
---|---|
Example |
|
Inherited from | IterableOps |
Source
Inherited from | IterableOps |
---|
Source
A collection containing the last n
elements of this collection.
Note: Even when applied to a view or a lazy collection it will always force the elements.
Definition Classes | StrictOptimizedIterableOps -> IterableOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Takes longest prefix of elements that satisfy a predicate.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Value parameters |
|
---|---|
Returns | the longest prefix of this iterable collection whose elements all satisfy the predicate |
Inherited from | IterableOps |
Source
override def tapEach[U](f: (K, V) => U): CollisionProofHashMap[K, V]
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Given a collection factory factory
, convert this collection to the appropriate representation for the current element type A
. Example uses:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // for xs: Iterable[Int]
Inherited from | IterableOnceOps |
---|
Source
Convert collection to array.
Implementation note: DO NOT call Array.from from this method.
Inherited from | IterableOnceOps |
---|
Source@inline
Inherited from | IterableOnceOps |
---|
Source
def toIndexedSeq: IndexedSeq[(K, V)]
Inherited from | IterableOnceOps |
---|
Source
Inherited from | IterableOnceOps |
---|
Source
Inherited from | IterableOnceOps |
---|
Source
Returns | This collection as a |
---|---|
Inherited from | IterableOnceOps |
Source
Inherited from | IterableOnceOps |
---|
Source
Source
Inherited from | IterableOnceOps |
---|
Source
Transposes this iterable collection of iterable collections into a iterable collection of iterable collections.
The resulting collection's type will be guided by the static type of iterable collection. For example:
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))
Note: Even when applied to a view or a lazy collection it will always force the elements.
Type parameters |
|
---|---|
Value parameters |
|
Returns | a two-dimensional iterable collection of iterable collections which has as nth row the nth column of this iterable collection. |
Throws |
|
Inherited from | IterableOps |
Source
Tries to extract a B
from an A
in a pattern matching expression.
Inherited from | PartialFunction |
---|
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Update a mapping for the specified key and its current optionally-mapped value (Some
if there is current mapping, None
if not).
If the remapping function returns Some(v)
, the mapping is updated with the new value v
. If the remapping function returns None
, the mapping is removed (or remains absent if initially absent). If the function itself throws an exception, the exception is rethrown, and the current mapping is left unchanged.
Value parameters |
|
---|---|
Returns | the new value associated with the specified key |
Inherited from | MapOps |
Source
Returns a Stepper for the values of this map. See method stepper.
Inherited from | MapOps |
---|
Source
Collects all values of this map in an iterable collection.
Returns | the values of this map as an iterable. |
---|---|
Inherited from | MapOps |
Source
def valuesIterator: Iterator[V]
Creates an iterator for all values in this map.
Returns | an iterator over all values that are associated with some key in this map. |
---|---|
Inherited from | MapOps |
Source
Definition Classes | MapOps -> IterableOps |
---|---|
Inherited from | MapOps |
Source
def withDefault(d: K => V): Map[K, V]
The same map with a given default function. Note: The default is only used for apply
. Other methods like get
, contains
, iterator
, keys
, etc. are not affected by withDefaultValue
.
Invoking transformer methods (e.g. map
) will not preserve the default value.
Value parameters |
|
---|---|
Returns | a wrapper of the map with a default value |
Inherited from | Map |
Source
def withDefaultValue(d: V): Map[K, V]
The same map with a given default value. Note: The default is only used for apply
. Other methods like get
, contains
, iterator
, keys
, etc. are not affected by withDefaultValue
.
Invoking transformer methods (e.g. map
) will not preserve the default value.
Value parameters |
|
---|---|
Returns | a wrapper of the map with a default value |
Inherited from | Map |
Source
Definition Classes | MapFactoryDefaults -> IterableOps |
---|---|
Inherited from | MapFactoryDefaults |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
Source
Returns a iterable collection formed from this iterable collection and another iterable collection by combining corresponding elements in pairs. If one of the two collections is shorter than the other, placeholder elements are used to extend the shorter collection to the length of the longer.
Value parameters |
|
---|---|
Returns | a new collection of type |
Inherited from | IterableOps |
Source
Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
---|---|
Inherited from | StrictOptimizedIterableOps |
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/mutable/CollisionProofHashMap.html