Packages

final class TrieMap[K, V] extends Map[K, V] with mutable.MapOps[K, V, TrieMap, TrieMap[K, V]] with Serializable

A concurrent hash-trie or TrieMap is a concurrent thread-safe lock-free implementation of a hash array mapped trie. It is used to implement the concurrent map abstraction. It has particularly scalable concurrent insert and remove operations and is memory-efficient. It supports O(1), atomic, lock-free snapshots which are used to implement linearizable lock-free size, iterator and clear operations. The cost of evaluating the (lazy) snapshot is distributed across subsequent updates, thus making snapshot evaluation horizontally scalable.

For details, see: http://lampwww.epfl.ch/~prokopec/ctries-snapshot.pdf

Annotations
@SerialVersionUID()
Since

2.10

Linear Supertypes
Serializable, Serializable, Map[K, V], mutable.Map[K, V], mutable.MapOps[K, V, TrieMap, TrieMap[K, V]], Shrinkable[K], collection.Map[K, V], MapOps[K, V, TrieMap, TrieMap[K, V]], Equals, PartialFunction[K, V], (K) ⇒ V, mutable.Iterable[(K, V)], mutable.IterableOps[(K, V), mutable.Iterable, TrieMap[K, V]], Growable[(K, V)], Iterable[(K, V)], IterableOps[(K, V), mutable.Iterable, TrieMap[K, V]], IterableOnce[(K, V)], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TrieMap
  2. Serializable
  3. Serializable
  4. Map
  5. Map
  6. MapOps
  7. Shrinkable
  8. Map
  9. MapOps
  10. Equals
  11. PartialFunction
  12. Function1
  13. Iterable
  14. IterableOps
  15. Growable
  16. Iterable
  17. IterableOps
  18. IterableOnce
  19. AnyRef
  20. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TrieMap()
  2. new TrieMap(hashf: Hashing[K], ef: Equiv[K])

Type Members

  1. class WithFilter extends collection.WithFilter[A, CC]

    A template trait that contains just the map, flatMap, foreach and withFilter methods of trait Iterable.

    A template trait that contains just the map, flatMap, foreach and withFilter methods of trait Iterable.

    Definition Classes
    IterableOps
  2. trait GenKeySet extends Serializable

    A generic trait that is reused by keyset implementations

    A generic trait that is reused by keyset implementations

    Attributes
    protected
    Definition Classes
    MapOps
  3. class KeySet extends Set[K] with GenKeySet

    The implementation class of the set returned by keySet.

    The implementation class of the set returned by keySet.

    Attributes
    protected
    Definition Classes
    MapOps
  4. class MapWithFilter extends WithFilter

    Specializes WithFilter for Map collection types

    Specializes WithFilter for Map collection types

    Definition Classes
    MapOps

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def ++[V2 >: V](xs: Iterable[(K, V2)]): TrieMap[K, V2]

    Alias for concat

    Alias for concat

    Definition Classes
    MapOps
  4. final def ++[B >: (K, V)](suffix: Iterable[B]): mutable.Iterable[B]

    Alias for concat

    Alias for concat

    Definition Classes
    IterableOps
    Annotations
    @inline()
  5. final def ++=(xs: IterableOnce[(K, V)]): TrieMap.this.type

    Alias for addAllInPlace

    Alias for addAllInPlace

    Definition Classes
    Growable
    Annotations
    @inline()
  6. final def +=(elem1: (K, V), elem2: (K, V), elems: (K, V)*): TrieMap.this.type

    ${Add}s two or more elements to this $coll.

    ${Add}s two or more elements to this $coll.

    elem1

    the first element to $add.

    elem2

    the second element to $add.

    elems

    the remaining elements to $add.

    returns

    the $coll itself

    Definition Classes
    Growable
    Annotations
    @inline()
  7. final def +=(elem: (K, V)): TrieMap.this.type

    Alias for add

    Alias for add

    Definition Classes
    Growable
    Annotations
    @inline()
  8. final def --=(xs: IterableOnce[K]): TrieMap.this.type

    Alias for subtractAll

    Alias for subtractAll

    Definition Classes
    Shrinkable
    Annotations
    @inline()
  9. final def -=(elem1: K, elem2: K, elems: K*): TrieMap.this.type

    Alias for subtract

    Alias for subtract

    Definition Classes
    Shrinkable
    Annotations
    @inline()
  10. final def -=(elem: K): TrieMap.this.type

    Alias for subtract

    Alias for subtract

    Definition Classes
    Shrinkable
    Annotations
    @inline()
  11. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def add(kv: (K, V)): TrieMap.this.type

    ${Add}s a single element to this concurrent map.

    ${Add}s a single element to this concurrent map.

    returns

    the concurrent map itself

    Definition Classes
    TrieMapGrowable
  13. def addAll(xs: IterableOnce[(K, V)]): TrieMap.this.type

    ${Add}s all elements produced by a TraversableOnce to this $coll.

    ${Add}s all elements produced by a TraversableOnce to this $coll.

    xs

    the TraversableOnce producing the elements to $add.

    returns

    the $coll itself.

    Definition Classes
    Growable
  14. def andThen[C](k: (V) ⇒ C): PartialFunction[K, C]
    Definition Classes
    PartialFunction → Function1
  15. def apply(k: K): V

    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.

    returns

    the value associated with the given key, or the result of the map's default method, if none exists.

    Definition Classes
    TrieMapMapOps → Function1
  16. def applyOrElse[K1 <: K, V1 >: V](x: K1, default: (K1) ⇒ V1): V1
    Definition Classes
    MapOps → PartialFunction
  17. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  18. def canEqual(that: Any): Boolean
    Definition Classes
    MapOps → Equals
  19. def className: String

    The class name of this collection.

    The class name of this collection. To be used for converting to string. Collections generally print like this:

    <className>(elem_1, ..., elem_n)

    Definition Classes
    TrieMapIterableOps
  20. def clear(): Unit

    Clears the concurrent map's contents.

    Clears the concurrent map's contents. After this operation, the concurrent map is empty.

    Definition Classes
    TrieMapGrowable
    Annotations
    @tailrec()
  21. def clone(): TrieMap[K, V]
    Definition Classes
    MapOps → AnyRef
  22. final def coll: TrieMap.this.type

    returns

    This collection as a C.

    Attributes
    protected[this]
    Definition Classes
    MapIterableOps
  23. def collect[B](pf: PartialFunction[(K, V), B]): mutable.Iterable[B]
    Definition Classes
    IterableOps
  24. def collectFirst[B](pf: PartialFunction[(K, V), B]): Option[B]

    Finds the first element of the $coll for which the given partial function is defined, and applies the partial function to it.

    Finds the first element of the $coll for which the given partial function is defined, and applies the partial function to it.

    $mayNotTerminateInf $orderDependent

    pf

    the partial function

    returns

    an option value containing pf applied to the first value for which it is defined, or None if none exists.

    Definition Classes
    IterableOps
    Example:
    1. Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

  25. def compose[A](g: (A) ⇒ K): (A) ⇒ V
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  26. def computeHash(k: K): Int
  27. def concat[V2 >: V](xs: Iterable[(K, V2)]): TrieMap[K, V2]
    Definition Classes
    MapOps
  28. final def concat[B >: (K, V)](suffix: Iterable[B]): mutable.Iterable[B]
    Definition Classes
    IterableOps
    Annotations
    @inline()
  29. def contains(key: K): Boolean

    Tests whether this map contains a binding for a key.

    Tests whether this map contains a binding for a key.

    key

    the key

    returns

    true if there is a binding for key in this map, false otherwise.

    Definition Classes
    MapOps
  30. def copyToArray[B >: (K, V)](xs: Array[B], start: Int = 0): xs.type

    Copy all elements of this collection to array xs, starting at start.

    Copy all elements of this collection to array xs, starting at start.

    Definition Classes
    IterableOps
  31. def count(p: ((K, V)) ⇒ Boolean): Int

    Counts the number of elements in the $coll which satisfy a predicate.

    Counts the number of elements in the $coll which satisfy a predicate.

    p

    the predicate used to test elements.

    returns

    the number of elements satisfying the predicate p.

    Definition Classes
    IterableOps
  32. 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.

    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.

    key

    the given key value for which a binding is missing.

    Definition Classes
    MapOps
    Annotations
    @throws( ... )
    Exceptions thrown
  33. def drop(n: Int): TrieMap[K, V]

    The rest of the collection without its n first elements.

    The rest of the collection without its n first elements. For linear, immutable collections this should avoid making a copy.

    Definition Classes
    IterableOps
  34. def dropRight(n: Int): TrieMap[K, V]

    The rest of the collection without its n last elements.

    The rest of the collection without its n last elements. For linear, immutable collections this should avoid making a copy.

    Definition Classes
    IterableOps
  35. def dropWhile(p: ((K, V)) ⇒ Boolean): TrieMap[K, V]

    Skips longest sequence of elements of this iterator which satisfy given predicate p, and returns an iterator of the remaining elements.

    Skips longest sequence of elements of this iterator which satisfy given predicate p, and returns an iterator of the remaining elements.

    p

    the predicate used to skip elements.

    returns

    an iterator consisting of the remaining elements

    Definition Classes
    IterableOps
    Note

    Reuse: $consumesAndProducesIterator

  36. def empty: TrieMap[K, V]

    The empty map of the same type as this map

    The empty map of the same type as this map

    returns

    an empty map of type Repr.

    Definition Classes
    TrieMapMapOps
  37. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. def equality: Equiv[K]
  39. def equals(o: Any): Boolean
    Definition Classes
    MapOps → Equals → AnyRef → Any
  40. def exists(p: ((K, V)) ⇒ Boolean): Boolean

    Tests whether a predicate holds for at least one element of this $coll.

    Tests whether a predicate holds for at least one element of this $coll.

    $mayNotTerminateInf

    p

    the predicate used to test elements.

    returns

    true if the given predicate p is satisfied by at least one element of this $coll, otherwise false

    Definition Classes
    IterableOps
  41. def filter(pred: ((K, V)) ⇒ Boolean): TrieMap[K, V]

    Selects all elements of this $coll which satisfy a predicate.

    Selects all elements of this $coll which satisfy a predicate.

    pred

    the predicate used to test elements.

    returns

    a new $coll consisting of all elements of this $coll that satisfy the given predicate pred. Their order may not be preserved.

    Definition Classes
    IterableOps
  42. def filterInPlace(p: ((K, V)) ⇒ Boolean): TrieMap.this.type
    Definition Classes
    MapOpsIterableOps
  43. def filterKeys(p: (K) ⇒ Boolean): View[(K, V)]

    Filters this map by retaining only keys satisfying a predicate.

    Filters this map by retaining only keys satisfying a predicate.

    p

    the predicate used to test keys

    returns

    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.

    Definition Classes
    TrieMapMapOps
  44. def filterNot(pred: ((K, V)) ⇒ Boolean): TrieMap[K, V]

    Selects all elements of this $coll which do not satisfy a predicate.

    Selects all elements of this $coll which do not satisfy a predicate.

    pred

    the predicate used to test elements.

    returns

    a new $coll consisting of all elements of this $coll that do not satisfy the given predicate pred. Their order may not be preserved.

    Definition Classes
    IterableOps
  45. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  46. def find(p: ((K, V)) ⇒ Boolean): Option[(K, V)]

    Finds the first element of the $coll satisfying a predicate, if any.

    Finds the first element of the $coll satisfying a predicate, if any.

    $mayNotTerminateInf $orderDependent

    p

    the predicate used to test elements.

    returns

    an option value containing the first element in the $coll that satisfies p, or None if none exists.

    Definition Classes
    IterableOps
  47. def flatMap[K2, V2](f: ((K, V)) ⇒ IterableOnce[(K2, V2)]): TrieMap[K2, V2]
    Definition Classes
    MapOps
  48. def flatMap[B](f: ((K, V)) ⇒ IterableOnce[B]): mutable.Iterable[B]

    Flatmap

    Flatmap

    Definition Classes
    IterableOps
  49. def flatMapInPlace(f: ((K, V)) ⇒ IterableOnce[(K, V)]): TrieMap.this.type
    Definition Classes
    MapOpsIterableOps
  50. def flatten[B](implicit ev: ((K, V)) ⇒ IterableOnce[B]): mutable.Iterable[B]
    Definition Classes
    IterableOps
  51. def foldLeft[B](z: B)(op: (B, (K, V)) ⇒ B): B

    Fold left

    Fold left

    Definition Classes
    IterableOps
  52. def foldRight[B](z: B)(op: ((K, V), B) ⇒ B): B

    Fold right

    Fold right

    Definition Classes
    IterableOps
  53. def forall(p: ((K, V)) ⇒ Boolean): Boolean

    Tests whether a predicate holds for all elements of this $coll.

    Tests whether a predicate holds for all elements of this $coll.

    $mayNotTerminateInf

    p

    the predicate used to test elements.

    returns

    true if this $coll is empty or the given predicate p holds for all elements of this $coll, otherwise false.

    Definition Classes
    IterableOps
  54. def foreach[U](f: ((K, V)) ⇒ U): Unit

    Apply f to each element for its side effects Note: [U] parameter needed to help scalac's type inference.

    Apply f to each element for its side effects Note: [U] parameter needed to help scalac's type inference.

    Definition Classes
    IterableOps
  55. def fromIterable[E](it: Iterable[E]): mutable.Iterable[E]
    Attributes
    protected[this]
    Definition Classes
    IterableOps
  56. def fromSpecificIterable(coll: Iterable[(K, V)]): TrieMap[K, V]
    Attributes
    protected[this]
    Definition Classes
    TrieMapIterableOps
  57. def get(k: K): Option[V]

    Optionally returns the value associated with a key.

    Optionally returns the value associated with a key.

    returns

    an option value containing the value associated with key in this map, or None if none exists.

    Definition Classes
    TrieMapMapOps
  58. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  59. def getOrElse(key: K, default: ⇒ V): V

    [use case] Returns the value associated with a key, or a default value if the key is not contained in the map.

    [use case]

    Returns the value associated with a key, or a default value if the key is not contained in the map.

    key

    the key.

    default

    a computation that yields a default value in case no binding for key is found in the map.

    returns

    the value associated with key if it exists, otherwise the result of the default computation.

    Definition Classes
    MapOps
    Full Signature

    def getOrElse[V1 >: V](key: K, default: ⇒ V1): V1

  60. def getOrElseUpdate(k: K, op: ⇒ V): V

    If the specified key is not already in the map, computes its value using the given thunk op and enters it into the map.

    If the specified key is not already in the map, computes its value using the given thunk op and enters it into the map.

    Since concurrent maps cannot contain null for keys or values, a NullPointerException is thrown if the thunk op returns null.

    If the specified mapping function throws an exception, that exception is rethrown.

    Note: This method will invoke op at most once. However, op may be invoked without the result being added to the map if a concurrent process is also trying to add a value corresponding to the same key k.

    k

    the key to modify

    op

    the expression that computes the value

    returns

    the newly added value

    Definition Classes
    TrieMapMapMapOps
  61. def groupBy[K](f: ((K, V)) ⇒ K): immutable.Map[K, TrieMap[K, V]]

    Partitions this $coll into a map of ${coll}s according to some discriminator function.

    Partitions this $coll into a map of ${coll}s according to some discriminator function.

    Note: When applied to a view or a lazy collection it will always force the elements.

    K

    the type of keys returned by the discriminator function.

    f

    the discriminator function.

    returns

    A map from keys to ${coll}s such that the following invariant holds:

    (xs groupBy f)(k) = xs filter (x => f(x) == k)

    That is, every key k is bound to a $coll of those elements x for which f(x) equals k.

    Definition Classes
    IterableOps
  62. def groupMap[K, B](key: ((K, V)) ⇒ K)(f: ((K, V)) ⇒ B): immutable.Map[K, mutable.Iterable[B]]

    Partitions this $coll into a map of ${coll}s according to a discriminator function key.

    Partitions this $coll into a map of ${coll}s 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)
    K

    the type of keys returned by the discriminator function

    B

    the type of values returned by the transformation function

    key

    the discriminator function

    f

    the element transformation function

    Definition Classes
    IterableOps
  63. def groupMapReduce[K, B](key: ((K, V)) ⇒ K)(f: ((K, V)) ⇒ B)(reduce: (B, B) ⇒ B): immutable.Map[K, B]

    Partitions this $coll into a map according to a discriminator function key.

    Partitions this $coll into a map according to a discriminator function key. All the values that have the same discriminator are then transformed by the value 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)(_ + _)
    Definition Classes
    IterableOps
  64. def grouped(size: Int): Iterator[TrieMap[K, V]]

    Partitions elements in fixed size ${coll}s.

    Partitions elements in fixed size ${coll}s.

    size

    the number of elements per group

    returns

    An iterator producing ${coll}s of size size, except the last will be less than size size if the elements don't divide evenly.

    Definition Classes
    IterableOps
    See also

    scala.collection.Iterator, method grouped

  65. def hashCode(): Int
    Definition Classes
    MapOps → AnyRef → Any
  66. def hashing: Hashing[K]
  67. def head: (K, V)

    The first element of the collection.

    The first element of the collection.

    Definition Classes
    IterableOps
  68. def init: TrieMap[K, V]

    The initial part of the collection without its last element.

    The initial part of the collection without its last element.

    Definition Classes
    IterableOps
  69. def isDefinedAt(key: K): Boolean

    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.

    key

    the key

    returns

    true if there is a binding for key in this map, false otherwise.

    Definition Classes
    MapOps → PartialFunction
  70. def isEmpty: Boolean

    Is the collection empty?

    Is the collection empty?

    Definition Classes
    IterableOps
  71. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  72. def isReadOnly: Boolean
  73. def iterableFactory: mutable.Iterable.type
    Definition Classes
    MapOpsIterableOps
  74. def iterator(): Iterator[(K, V)]

    Iterator can be used only once

    Iterator can be used only once

    Definition Classes
    TrieMapIterableOnce
  75. def keySet: Set[K]

    Collects all keys of this map in a set.

    Collects all keys of this map in a set.

    returns

    a set containing all keys of this map.

    Definition Classes
    TrieMapMapOps
  76. def keys: Iterable[K]

    Collects all keys of this map in an iterable collection.

    Collects all keys of this map in an iterable collection.

    returns

    the keys of this map as an iterable.

    Definition Classes
    MapOps
  77. def keysIterator(): Iterator[K]

    Creates an iterator for all keys.

    Creates an iterator for all keys.

    returns

    an iterator over all keys.

    Definition Classes
    MapOps
  78. def knownSize: Int

    The number of elements in this collection, if it can be cheaply computed, -1 otherwise.

    The number of elements in this collection, if it can be cheaply computed, -1 otherwise. Cheaply usually means: Not requiring a collection traversal.

    Definition Classes
    IterableOps
  79. def last: (K, V)

    Selects the last element.

    Selects the last element. $orderDependent

    returns

    The last element of this $coll.

    Definition Classes
    IterableOps
    Exceptions thrown

    NoSuchElementException If the $coll is empty.

  80. def lastOption: Option[(K, V)]

    Optionally selects the last element.

    Optionally selects the last element. $orderDependent

    returns

    the last element of this $coll$ if it is nonempty, None if it is empty.

    Definition Classes
    IterableOps
  81. def lift: (K) ⇒ Option[V]
    Definition Classes
    PartialFunction
  82. def lookup(k: K): V
  83. def map[K2, V2](f: ((K, V)) ⇒ (K2, V2)): TrieMap[K2, V2]
    Definition Classes
    MapOps
  84. def map[B](f: ((K, V)) ⇒ B): mutable.Iterable[B]

    Builds a new collection by applying a function to all elements of this $coll.

    Builds a new collection by applying a function to all elements of this $coll.

    B

    the element type of the returned collection.

    f

    the function to apply to each element.

    returns

    a new $coll resulting from applying the given function f to each element of this $coll and collecting the results.

    Definition Classes
    IterableOps
  85. def mapFactory: MapFactory[TrieMap]
    Definition Classes
    TrieMapMapOps
  86. def mapFromIterable[K2, V2](it: Iterable[(K2, V2)]): TrieMap[K2, V2]

    Similar to fromIterable, but returns a Map collection type

    Similar to fromIterable, but returns a Map collection type

    Attributes
    protected[this]
    Definition Classes
    TrieMapMapOps
  87. def mapInPlace(f: ((K, V)) ⇒ (K, V)): TrieMap.this.type
    Definition Classes
    MapOpsIterableOps
  88. def mapValues[W](f: (V) ⇒ W): View[(K, W)]

    Transforms this map by applying a function to every retrieved value.

    Transforms this map by applying a function to every retrieved value.

    f

    the function used to transform values of this map.

    returns

    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.

    Definition Classes
    TrieMapMapOps
  89. def max: (K, V)

    [use case] Finds the largest element.

    [use case]

    Finds the largest element.

    returns

    the largest element of this concurrent map.

    Definition Classes
    IterableOps
    Full Signature

    def max[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

  90. def maxBy[B](f: ((K, V)) ⇒ B): (K, V)

    [use case] Finds the first element which yields the largest value measured by function f.

    [use case]

    Finds the first element which yields the largest value measured by function f.

    B

    The result type of the function f.

    f

    The measuring function.

    returns

    the first element of this concurrent map with the largest value measured by function f.

    Definition Classes
    IterableOps
    Full Signature

    def maxBy[B](f: ((K, V)) ⇒ B)(implicit cmp: Ordering[B]): (K, V)

  91. def min: (K, V)

    [use case] Finds the smallest element.

    [use case]

    Finds the smallest element.

    returns

    the smallest element of this concurrent map

    Definition Classes
    IterableOps
    Full Signature

    def min[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

  92. def minBy[B](f: ((K, V)) ⇒ B): (K, V)

    [use case] Finds the first element which yields the smallest value measured by function f.

    [use case]

    Finds the first element which yields the smallest value measured by function f.

    B

    The result type of the function f.

    f

    The measuring function.

    returns

    the first element of this concurrent map with the smallest value measured by function f.

    Definition Classes
    IterableOps
    Full Signature

    def minBy[B](f: ((K, V)) ⇒ B)(implicit cmp: Ordering[B]): (K, V)

  93. def mkString(start: String, sep: String, end: String): String

    A string showing all elements of this collection, separated by string sep.

    A string showing all elements of this collection, separated by string sep.

    Definition Classes
    MapOpsIterableOps
  94. def mkString: String
    Definition Classes
    IterableOps
  95. def mkString(sep: String): String
    Definition Classes
    IterableOps
  96. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  97. def newSpecificBuilder(): Builder[(K, V), TrieMap[K, V]]

    returns

    a strict builder for the same collection type. Note that in the case of lazy collections (e.g. View or immutable.LazyList), it is possible to implement this method but the resulting Builder will break laziness. As a consequence, operations should preferably be implemented on top of views rather than builders.

    Attributes
    protected[this]
    Definition Classes
    TrieMapIterableOps
  98. def nonEmpty: Boolean

    Is the collection not empty?

    Is the collection not empty?

    Definition Classes
    IterableOps
  99. def nonReadOnly: Boolean
  100. final def notify(): Unit
    Definition Classes
    AnyRef
  101. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  102. def orElse[A1 <: K, B1 >: V](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]
    Definition Classes
    PartialFunction
  103. def partition(p: ((K, V)) ⇒ Boolean): (TrieMap[K, V], TrieMap[K, V])

    A pair of, first, all elements that satisfy prediacte p and, second, all elements that do not.

    A pair of, first, all elements that satisfy prediacte p and, second, all elements that do not. Interesting because it splits a collection in two.

    The default implementation provided here needs to traverse the collection twice. Strict collections have an overridden version of partition in Buildable, which requires only a single traversal.

    Definition Classes
    IterableOps
  104. def product: (K, V)

    [use case] Multiplies up the elements of this collection.

    [use case]

    Multiplies up the elements of this collection.

    returns

    the product of all elements in this concurrent map of numbers of type Int. Instead of Int, any other type T with an implicit Numeric[T] implementation can be used as element type of the concurrent map and as result type of product. Examples of such types are: Long, Float, Double, BigInt.

    Definition Classes
    IterableOps
    Full Signature

    def product[B >: (K, V)](implicit num: Numeric[B]): B

  105. def put(key: K, value: V): Option[V]

    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.

    key

    the key to update

    value

    the new value

    returns

    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.

    Definition Classes
    TrieMapMapOps
  106. def putIfAbsent(k: K, v: V): Option[V]

    Associates the given key with a given value, unless the key was already associated with some other value.

    Associates the given key with a given value, unless the key was already associated with some other value.

    This is an atomic operation.

    k

    key with which the specified value is to be associated with

    v

    value to be associated with the specified key

    returns

    Some(oldvalue) if there was a value oldvalue previously associated with the specified key, or None if there was no mapping for the specified key

    Definition Classes
    TrieMapMap
  107. def readOnlySnapshot(): collection.Map[K, V]

    Returns a read-only snapshot of this TrieMap.

    Returns a read-only snapshot of this TrieMap. This operation is lock-free and linearizable.

    The snapshot is lazily updated - the first time some branch of this TrieMap are accessed, it is rewritten. The work of creating the snapshot is thus distributed across subsequent updates and accesses on this TrieMap by all threads. Note that the snapshot itself is never rewritten unlike when calling the snapshot method, but the obtained snapshot cannot be modified.

    This method is used by other methods such as size and iterator.

    Annotations
    @tailrec()
  108. def reduce[B >: (K, V)](op: (B, B) ⇒ B): B

    Reduces the elements of this $coll using the specified associative binary operator.

    Reduces the elements of this $coll using the specified associative binary operator.

    $undefinedorder

    B

    A type parameter for the binary operator, a supertype of A.

    op

    A binary operator that must be associative.

    returns

    The result of applying reduce operator op between all the elements if the $coll is nonempty.

    Definition Classes
    IterableOps
    Exceptions thrown

    UnsupportedOperationException if this $coll is empty.

  109. def reduceLeft[B >: (K, V)](op: (B, (K, V)) ⇒ B): B

    Applies a binary operator to all elements of this $coll, going left to right.

    Applies a binary operator to all elements of this $coll, going left to right. $willNotTerminateInf $orderDependentFold

    B

    the result type of the binary operator.

    op

    the binary operator.

    returns

    the result of inserting op between consecutive elements of this $coll, going left to right:

    op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)

    where x1, ..., xn are the elements of this $coll.

    Definition Classes
    IterableOps
    Exceptions thrown

    UnsupportedOperationException if this $coll is empty.

  110. def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) ⇒ B): Option[B]

    Optionally applies a binary operator to all elements of this $coll, going left to right.

    Optionally applies a binary operator to all elements of this $coll, going left to right. $willNotTerminateInf $orderDependentFold

    B

    the result type of the binary operator.

    op

    the binary operator.

    returns

    an option value containing the result of reduceLeft(op) if this $coll is nonempty, None otherwise.

    Definition Classes
    IterableOps
  111. def reduceOption[B >: (K, V)](op: (B, B) ⇒ B): Option[B]

    Reduces the elements of this $coll, if any, using the specified associative binary operator.

    Reduces the elements of this $coll, if any, using the specified associative binary operator.

    $undefinedorder

    B

    A type parameter for the binary operator, a supertype of A.

    op

    A binary operator that must be associative.

    returns

    An option value containing result of applying reduce operator op between all the elements if the collection is nonempty, and None otherwise.

    Definition Classes
    IterableOps
  112. def reduceRight[B >: (K, V)](op: ((K, V), B) ⇒ B): B

    Applies a binary operator to all elements of this $coll, going right to left.

    Applies a binary operator to all elements of this $coll, going right to left. $willNotTerminateInf $orderDependentFold

    B

    the result type of the binary operator.

    op

    the binary operator.

    returns

    the result of inserting op between consecutive elements of this $coll, going right to left:

    op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))

    where x1, ..., xn are the elements of this $coll.

    Definition Classes
    IterableOps
    Exceptions thrown

    UnsupportedOperationException if this $coll is empty.

  113. def reduceRightOption[B >: (K, V)](op: ((K, V), B) ⇒ B): Option[B]

    Optionally applies a binary operator to all elements of this $coll, going right to left.

    Optionally applies a binary operator to all elements of this $coll, going right to left. $willNotTerminateInf $orderDependentFold

    B

    the result type of the binary operator.

    op

    the binary operator.

    returns

    an option value containing the result of reduceRight(op) if this $coll is nonempty, None otherwise.

    Definition Classes
    IterableOps
  114. def remove(k: K, v: V): Boolean

    Removes the entry for the specified key if it's currently mapped to the specified value.

    Removes the entry for the specified key if it's currently mapped to the specified value.

    This is an atomic operation.

    k

    key for which the entry should be removed

    v

    value expected to be associated with the specified key if the removal is to take place

    returns

    true if the removal took place, false otherwise

    Definition Classes
    TrieMapMap
  115. def remove(k: K): Option[V]

    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.

    returns

    an option value containing the value associated previously with key, or None if key was not defined in the map before.

    Definition Classes
    TrieMapMapOps
  116. def replace(k: K, v: V): Option[V]

    Replaces the entry for the given key only if it was previously mapped to some value.

    Replaces the entry for the given key only if it was previously mapped to some value.

    This is an atomic operation.

    k

    key for which the entry should be replaced

    v

    value to be associated with the specified key

    returns

    Some(v) if the given key was previously mapped to some value v, or None otherwise

    Definition Classes
    TrieMapMap
  117. def replace(k: K, oldvalue: V, newvalue: V): Boolean

    Replaces the entry for the given key only if it was previously mapped to a given value.

    Replaces the entry for the given key only if it was previously mapped to a given value.

    This is an atomic operation.

    k

    key for which the entry should be replaced

    oldvalue

    value expected to be associated with the specified key if replacing is to happen

    newvalue

    value to be associated with the specified key

    returns

    true if the entry was replaced, false otherwise

    Definition Classes
    TrieMapMap
  118. def reversed: Iterable[(K, V)]
    Attributes
    protected[this]
    Definition Classes
    IterableOps
  119. def runWith[U](action: (V) ⇒ U): (K) ⇒ Boolean
    Definition Classes
    PartialFunction
  120. def scan[B >: (K, V)](z: B)(op: (B, B) ⇒ B): mutable.Iterable[B]

    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.

    B

    element type of the resulting collection

    z

    neutral element for the operator op

    op

    the associative operator for the scan

    returns

    a new $coll containing the prefix scan of the elements in this $coll

    Definition Classes
    IterableOps
  121. def scanLeft[B](z: B)(op: (B, (K, V)) ⇒ B): mutable.Iterable[B]

    Produces a collection containing cumulative results of applying the operator going left to right.

    Produces a collection containing cumulative results of applying the operator going left to right.

    $willNotTerminateInf $orderDependent

    B

    the type of the elements in the resulting collection

    z

    the initial value

    op

    the binary operator applied to the intermediate result and the element

    returns

    collection with intermediate results

    Definition Classes
    IterableOps
  122. def scanRight[B](z: B)(op: ((K, V), B) ⇒ B): mutable.Iterable[B]

    Produces a collection containing cumulative results of applying the operator going right to left.

    Produces a collection containing cumulative results of applying the operator going right to left. The head of the collection is the last cumulative result. $willNotTerminateInf $orderDependent

    Example:

    List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
    B

    the type of the elements in the resulting collection

    z

    the initial value

    op

    the binary operator applied to the intermediate result and the element

    returns

    collection with intermediate results

    Definition Classes
    IterableOps
  123. def size: Int

    The number of elements in this collection.

    The number of elements in this collection. Does not terminate for infinite collections.

    Definition Classes
    TrieMapIterableOps
  124. def slice(from: Int, until: Int): TrieMap[K, V]

    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

    $orderDependent

    from

    the lowest index to include from this $coll.

    until

    the lowest index to EXCLUDE from this $coll.

    returns

    a $coll containing the elements greater than or equal to index from extending up to (but not including) index until of this $coll.

    Definition Classes
    IterableOps
  125. def sliding(size: Int, step: Int): Iterator[TrieMap[K, V]]

    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.)

    size

    the number of elements per group

    step

    the distance between the first elements of successive groups

    returns

    An iterator producing ${coll}s of size size, except the last element (which may be the only element) will be truncated if there are fewer than size elements remaining to be grouped.

    Definition Classes
    IterableOps
    See also

    scala.collection.Iterator, method sliding

  126. def sliding(size: Int): Iterator[TrieMap[K, V]]

    Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.) The "sliding window" step is set to one.

    Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.) The "sliding window" step is set to one.

    size

    the number of elements per group

    returns

    An iterator producing ${coll}s of size size, except the last element (which may be the only element) will be truncated if there are fewer than size elements remaining to be grouped.

    Definition Classes
    IterableOps
    See also

    scala.collection.Iterator, method sliding

  127. def snapshot(): TrieMap[K, V]

    Returns a snapshot of this TrieMap.

    Returns a snapshot of this TrieMap. This operation is lock-free and linearizable.

    The snapshot is lazily updated - the first time some branch in the snapshot or this TrieMap are accessed, they are rewritten. This means that the work of rebuilding both the snapshot and this TrieMap is distributed across all the threads doing updates or accesses subsequent to the snapshot creation.

    Annotations
    @tailrec()
  128. def span(p: ((K, V)) ⇒ Boolean): (TrieMap[K, V], TrieMap[K, V])

    Splits this $coll into a prefix/suffix pair according to a predicate.

    Splits this $coll into a prefix/suffix pair according to a predicate.

    Note: c span p is equivalent to (but possibly more efficient than) (c takeWhile p, c dropWhile p), provided the evaluation of the predicate p does not cause any side-effects. $orderDependent

    p

    the test predicate

    returns

    a pair consisting of the longest prefix of this $coll whose elements all satisfy p, and the rest of this $coll.

    Definition Classes
    IterableOps
  129. def splitAt(n: Int): (TrieMap[K, V], TrieMap[K, V])

    Splits this $coll into two at a given position.

    Splits this $coll into two at a given position. Note: c splitAt n is equivalent to (but possibly more efficient than) (c take n, c drop n). $orderDependent

    n

    the position at which to split.

    returns

    a pair of ${coll}s consisting of the first n elements of this $coll, and the other elements.

    Definition Classes
    IterableOps
  130. def string: String
  131. def subtract(k: K): TrieMap.this.type

    Removes a single element from this concurrent map.

    Removes a single element from this concurrent map.

    returns

    the concurrent map itself

    Definition Classes
    TrieMapShrinkable
  132. def subtract(elem1: K, elem2: K, elems: K*): TrieMap.this.type

    Removes two or more elements from this shrinkable collection.

    Removes two or more elements from this shrinkable collection.

    elem1

    the first element to remove.

    elem2

    the second element to remove.

    elems

    the remaining elements to remove.

    returns

    the shrinkable collection itself

    Definition Classes
    Shrinkable
  133. def subtractAll(xs: IterableOnce[K]): TrieMap.this.type

    Removes all elements produced by an iterator from this shrinkable collection.

    Removes all elements produced by an iterator from this shrinkable collection.

    xs

    the iterator producing the elements to remove.

    returns

    the shrinkable collection itself

    Definition Classes
    Shrinkable
  134. def sum: (K, V)

    [use case] Sums up the elements of this collection.

    [use case]

    Sums up the elements of this collection.

    returns

    the sum of all elements in this concurrent map of numbers of type Int. Instead of Int, any other type T with an implicit Numeric[T] implementation can be used as element type of the concurrent map and as result type of sum. Examples of such types are: Long, Float, Double, BigInt.

    Definition Classes
    IterableOps
    Full Signature

    def sum[B >: (K, V)](implicit num: Numeric[B]): B

  135. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  136. def tail: TrieMap[K, V]

    The rest of the collection without its first element.

    The rest of the collection without its first element.

    Definition Classes
    IterableOps
  137. def take(n: Int): TrieMap[K, V]

    A collection containing the first n elements of this collection.

    A collection containing the first n elements of this collection.

    Definition Classes
    IterableOps
  138. def takeRight(n: Int): TrieMap[K, V]

    A collection containing the last n elements of this collection.

    A collection containing the last n elements of this collection.

    Definition Classes
    IterableOps
  139. def takeWhile(p: ((K, V)) ⇒ Boolean): TrieMap[K, V]

    Takes longest prefix of elements that satisfy a predicate.

    Takes longest prefix of elements that satisfy a predicate. $orderDependent

    p

    The predicate used to test elements.

    returns

    the longest prefix of this $coll whose elements all satisfy the predicate p.

    Definition Classes
    IterableOps
  140. def to[C1](factory: Factory[(K, V), C1]): C1

    Given a collection factory factory, convert this collection to the appropriate representation for the current element type A.

    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]

    Definition Classes
    IterableOps
  141. def toArray[B >: (K, V)](implicit arg0: ClassTag[B]): Array[B]

    Convert collection to array.

    Convert collection to array.

    Definition Classes
    IterableOps
  142. final def toIterable: TrieMap.this.type

    The collection itself

    The collection itself

    returns

    This collection as an Iterable[A]. No new collection will be built if this is already an Iterable[A].

    Definition Classes
    IterableIterableOps
  143. def toString(): String
    Definition Classes
    MapOps → Function1 → IterableOps → AnyRef → Any
  144. def unzip[A1, A2](implicit asPair: <:<[(K, V), (A1, A2)]): (mutable.Iterable[A1], mutable.Iterable[A2])

    Converts this $coll of pairs into two collections of the first and second half of each pair.

    Converts this $coll of pairs into two collections of the first and second half of each pair.

    val xs = $Coll(
               (1, "one"),
               (2, "two"),
               (3, "three")).unzip
    // xs == ($Coll(1, 2, 3),
    //        $Coll(one, two, three))
    A1

    the type of the first half of the element pairs

    A2

    the type of the second half of the element pairs

    asPair

    an implicit conversion which asserts that the element type of this $coll is a pair.

    returns

    a pair of ${coll}s, containing the first, respectively second half of each element pair of this $coll.

    Definition Classes
    IterableOps
  145. def update(k: K, v: V): Unit

    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.

    Definition Classes
    TrieMapMapOps
  146. def values: Iterable[V]

    Collects all values of this map in an iterable collection.

    Collects all values of this map in an iterable collection.

    returns

    the values of this map as an iterable.

    Definition Classes
    TrieMapMapOps
  147. def valuesIterator(): Iterator[V]

    Creates an iterator for all values in this map.

    Creates an iterator for all values in this map.

    returns

    an iterator over all values that are associated with some key in this map.

    Definition Classes
    MapOps
  148. def view: View[(K, V)]

    A view representing the elements of this collection.

    A view representing the elements of this collection.

    Definition Classes
    IterableOps
  149. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  150. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  151. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  152. def withFilter(p: ((K, V)) ⇒ Boolean): MapWithFilter

    Creates a non-strict filter of this $coll.

    Creates a non-strict filter of this $coll.

    Note: the difference between c filter p and c withFilter p is that the former creates a new collection, whereas the latter only restricts the domain of subsequent map, flatMap, foreach, and withFilter operations. $orderDependent

    p

    the predicate used to test elements.

    returns

    an object of class WithFilter, which supports map, flatMap, foreach, and withFilter operations. All these operations apply to those elements of this $coll which satisfy the predicate p.

    Definition Classes
    MapOpsIterableOps
  153. def zip[B](xs: Iterable[B]): mutable.Iterable[((K, V), B)]

    Returns a $coll formed from this $coll and another iterable collection by combining corresponding elements in pairs.

    Returns a $coll formed from this $coll and another iterable collection by combining corresponding elements in pairs. If one of the two collections is longer than the other, its remaining elements are ignored.

    B

    the type of the second half of the returned pairs

    xs

    The iterable providing the second half of each result pair

    returns

    a new collection of type That containing pairs consisting of corresponding elements of this $coll and that. The length of the returned collection is the minimum of the lengths of this $coll and that.

    Definition Classes
    IterableOps
  154. def zipWithIndex: mutable.Iterable[((K, V), Int)]

    Zips this $coll with its indices.

    Zips this $coll with its indices.

    returns

    A new collection of type That containing pairs consisting of all elements of this $coll paired with their index. Indices start at 0.

    Definition Classes
    IterableOps
    Example:
    1. List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Inherited from Serializable

Inherited from Serializable

Inherited from Map[K, V]

Inherited from mutable.Map[K, V]

Inherited from mutable.MapOps[K, V, TrieMap, TrieMap[K, V]]

Inherited from Shrinkable[K]

Inherited from collection.Map[K, V]

Inherited from MapOps[K, V, TrieMap, TrieMap[K, V]]

Inherited from Equals

Inherited from PartialFunction[K, V]

Inherited from (K) ⇒ V

Inherited from mutable.Iterable[(K, V)]

Inherited from mutable.IterableOps[(K, V), mutable.Iterable, TrieMap[K, V]]

Inherited from Growable[(K, V)]

Inherited from Iterable[(K, V)]

Inherited from IterableOps[(K, V), mutable.Iterable, TrieMap[K, V]]

Inherited from IterableOnce[(K, V)]

Inherited from AnyRef

Inherited from Any

Ungrouped