Packages

final class NonEmptyMap[K, +V] extends AnyVal

A non-empty map: an ordered, immutable, non-empty collection of key-value tuples with LinearSeq performance characteristics.

The purpose of NonEmptyMap is to allow you to express in a type that a Map is non-empty, thereby eliminating the need for (and potential exception from) a run-time check for non-emptiness. For a non-empty sequence with IndexedSeq performance, see Vector.

Constructing NonEmptyMaps

You can construct a NonEmptyMap by passing one or more elements to the NonEmptyMap.apply factory method:

scala> NonEmptyMap(1 -> "one", 2 -> "two", 3 -> "three")
res0: org.scalactic.anyvals.NonEmptyMap[Int, String] = NonEmptyMap(1 -> "one", 2 -> "two", 3 -> "three")

Working with NonEmptyMaps

NonEmptyMap does not extend Scala's Map or Traversable traits because these require that implementations may be empty. For example, if you invoke tail on a Seq that contains just one element, you'll get an empty Seq:

scala> Map(1 -> "one").tail
res6: Map[Int] = Map()

On the other hand, many useful methods exist on Map that when invoked on a non-empty Seq are guaranteed to not result in an empty Map. For convenience, NonEmptyMap defines a method corresponding to every such Map method. Here are an example:

NonEmptyMap(1 -> "one", 2 -> "two", 3 -> "three").map(t => (t._1 + 1, t._2))                        // Result: NonEmptyMap(2 -> "one", 3 -> "two", 4 -> "three")

NonEmptyMap does not currently define any methods corresponding to Map methods that could result in an empty Map. However, an implicit converison from NonEmptyMap to Map is defined in the NonEmptyMap companion object that will be applied if you attempt to call one of the missing methods. As a result, you can invoke filter on an NonEmptyMap, even though filter could result in an empty map—but the result type will be Map instead of NonEmptyMap:

NonEmptyMap(1 -> "one", 2 -> "two", 3 -> "three").filter(_._1 < 10) // Result: Map(1 -> "one", 2 -> "two", 3 -> "three")
NonEmptyMap(1 -> "one", 2 -> "two", 3 -> "three").filter(_._ 1> 10) // Result: Map()

You can use NonEmptyMaps in for expressions. The result will be an NonEmptyMap unless you use a filter (an if clause). Because filters are desugared to invocations of filter, the result type will switch to a Map at that point. Here are some examples:

scala> import org.scalactic.anyvals._
import org.scalactic.anyvals._

scala> for ((i, j) <- NonEmptyMap(1 -> "one", 2 -> "two", 3 -> "three")) yield (i + 1, j)
res0: org.scalactic.anyvals.NonEmptyMap[Int, String] = NonEmptyMap(2 -> "one", 3 -> "two", 4 -> "three")

scala> for ((i, j) <- NonEmptyMap(1, 2, 3) if i < 10) yield (i + 1, j)
res1: Map[Int, String] = Map(2 -> "one", 3 -> "two", 4 -> "three")

K

the type of key contained in this NonEmptyMap

V

the type of value contained in this NonEmptyMap

Linear Supertypes
AnyVal, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NonEmptyMap
  2. AnyVal
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  2. final def ##: Int
    Definition Classes
    Any
  3. def +[V1 >: V](entries: (K, V1)*): NonEmptyMap[K, V1]

    Returns a new NonEmptyMap with the given entries added.

    Returns a new NonEmptyMap with the given entries added.

    entries

    the entries to add to this NonEmptyMap

    returns

    a new NonEmptyMap consisting of all entries of this NonEmptyMap and entries.

  4. def +[V1 >: V](entry: (K, V1)): NonEmptyMap[K, V1]

    Returns a new NonEmptyMap with the given entry added.

    Returns a new NonEmptyMap with the given entry added.

    entry

    the entry to add to this NonEmptyMap

    returns

    a new NonEmptyMap consisting of all entries of this NonEmptyMap and entry.

  5. def ++[V1 >: V](other: IterableOnce[(K, V1)]): NonEmptyMap[K, V1]

    Returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed TraversableOnce.

    Returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed TraversableOnce. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this NonEmptyMap and the passed TraversableOnce.

    V1

    the value type of the returned NonEmptyMap

    other

    the TraversableOnce to append

    returns

    a new NonEmptyMap that contains all the elements of this NonEmptyMap followed by all elements of other.

  6. def ++[V1 >: V](other: Vector[(K, V1)]): NonEmptyMap[K, V1]

    Returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed Vector.

    Returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed Vector. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this NonEmptyMap and the passed Vector.

    V1

    the value type of the returned NonEmptyMap

    other

    the Vector to append

    returns

    a new NonEmptyMap that contains all the entries of this NonEmptyMap and all elements of other.

  7. def ++[V1 >: V](other: NonEmptyMap[K, V1]): NonEmptyMap[K, V1]

    Returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed NonEmptyMap.

    Returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed NonEmptyMap. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this and the passed NonEmptyMap.

    V1

    the value type of the returned NonEmptyMap

    other

    the NonEmptyMap to append

    returns

    a new NonEmptyMap that contains all the elements of this NonEmptyMap and all elements of other.

  8. def ++:[V1 >: V](other: IterableOnce[(K, V1)]): NonEmptyMap[K, V1]

    Returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed TraversableOnce.

    Returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed TraversableOnce. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this NonEmptyMap and the passed TraversableOnce.

    V1

    the value type of the returned NonEmptyMap

    other

    the TraversableOnce to append

    returns

    a new NonEmptyMap that contains all the elements of this NonEmptyMap followed by all elements of other.

  9. def ++:[V1 >: V](other: Vector[(K, V1)]): NonEmptyMap[K, V1]

    As with ++, returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed Vector.

    As with ++, returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed Vector. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this NonEmptyMap and the passed Vector.

    It differs from ++ in that the right operand determines the type of the resulting collection rather than the left one. Mnemonic: the COLon is on the side of the new COLlection type.

    V1

    the value type of the returned NonEmptyMap

    other

    the Vector to append

    returns

    a new NonEmptyMap that contains all the entries of this NonEmptyMap and all elements of other.

  10. def ++:[V1 >: V](other: NonEmptyMap[K, V1]): NonEmptyMap[K, V1]

    As with ++, returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed NonEmptyMap.

    As with ++, returns a new NonEmptyMap containing the entries of this NonEmptyMap and the entries of the passed NonEmptyMap. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this and the passed NonEmptyMap.

    It differs from ++ in that the right operand determines the type of the resulting collection rather than the left one. Mnemonic: the COLon is on the side of the new COLlection type.

    V1

    the value type of the returned NonEmptyMap

    other

    the NonEmptyMap to add

    returns

    a new NonEmptyMap that contains all the elements of this NonEmptyMap and all elements of other.

  11. def +:[V1 >: V](entry: (K, V1)): NonEmptyMap[K, V1]

    Returns a new NonEmptyMap with the given entry added.

    Returns a new NonEmptyMap with the given entry added.

    Note that :-ending operators are right associative. A mnemonic for +: vs. :+ is: the COLon goes on the COLlection side.

    entry

    the element to add to this NonEmptyMap

    returns

    a new NonEmptyMap consisting of element followed by all elements of this NonEmptyMap.

  12. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
  13. def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

    Appends all entries of this NonEmptyMap to a string builder using start, end, and separator strings.

    Appends all entries of this NonEmptyMap to a string builder using start, end, and separator strings. The written text will consist of a concatenation of the string start; the result of invoking toString on all elements of this NonEmptyMap, separated by the string sep; and the string end

    sb

    the string builder to which elements will be appended

    start

    the ending string

    sep

    the separator string

    returns

    the string builder, sb, to which elements were appended.

  14. def addString(sb: StringBuilder, sep: String): StringBuilder

    Appends all entries of this NonEmptyMap to a string builder using a separator string.

    Appends all entries of this NonEmptyMap to a string builder using a separator string. The written text will consist of a concatenation of the result of invoking toString on of every element of this NonEmptyMap, separated by the string sep.

    sb

    the string builder to which entries will be appended

    sep

    the separator string

    returns

    the string builder, sb, to which elements were appended.

  15. def addString(sb: StringBuilder): StringBuilder

    Appends all entries of this NonEmptyMap to a string builder.

    Appends all entries of this NonEmptyMap to a string builder. The written text will consist of a concatenation of the result of invoking toString on of every entry of this NonEmptyMap, without any separator string.

    sb

    the string builder to which entries will be appended

    returns

    the string builder, sb, to which entries were appended.

  16. def apply(k: K): V

    Selects an value by its key in the NonEmptyMap.

    Selects an value by its key in the NonEmptyMap.

    returns

    the value of this NonEmptyMap at key k.

  17. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  18. def collectFirst[U](pf: PartialFunction[(K, V), U]): Option[U]

    Finds the first entry of this NonEmptyMap for which the given partial function is defined, if any, and applies the partial function to it.

    Finds the first entry of this NonEmptyMap for which the given partial function is defined, if any, and applies the partial function to it.

    pf

    the partial function

    returns

    an Option containing pf applied to the first entry for which it is defined, or None if the partial function was not defined for any entry.

  19. def contains(key: K): Boolean

    Indicates whether this NonEmptyMap contains a binding for given key.

    Indicates whether this NonEmptyMap contains a binding for given key.

    key

    the key to look for

    returns

    true if this NonEmptyMap has a binding that is equal (as determined by ==) to key, false otherwise.

  20. def copyToArray[V1 >: V](arr: Array[(K, V1)], start: Int, len: Int): Unit

    Copies entries of this NonEmptyMap to an array.

    Copies entries of this NonEmptyMap to an array. Fills the given array arr with at most len entries of this NonEmptyMap, beginning at index start. Copying will stop once either the end of the current NonEmptyMap is reached, the end of the array is reached, or len elements have been copied.

    arr

    the array to fill

    start

    the starting index

    len

    the maximum number of elements to copy

  21. def copyToArray[V1 >: V](arr: Array[(K, V1)], start: Int): Unit

    Copies entries of this NonEmptyMap to an array.

    Copies entries of this NonEmptyMap to an array. Fills the given array arr with entries of this NonEmptyMap, beginning at index start. Copying will stop once either the end of the current NonEmptyMap is reached, or the end of the array is reached.

    arr

    the array to fill

    start

    the starting index

  22. def copyToArray[V1 >: V](arr: Array[(K, V1)]): Unit

    Copies entries of this NonEmptyMap to an array.

    Copies entries of this NonEmptyMap to an array. Fills the given array arr with entries of this NonEmptyMap. Copying will stop once either the end of the current NonEmptyMap is reached, or the end of the array is reached.

    arr

    the array to fill

  23. def copyToBuffer[V1 >: V](buf: Buffer[(K, V1)]): Unit

    Copies all elements of this NonEmptyMap to a buffer.

    Copies all elements of this NonEmptyMap to a buffer.

    buf

    the buffer to which elements are copied

  24. def count(p: ((K, V)) => Boolean): Int

    Counts the number of elements in this NonEmptyMap that satisfy a predicate.

    Counts the number of elements in this NonEmptyMap that satisfy a predicate.

    p

    the predicate used to test elements.

    returns

    the number of elements satisfying the predicate p.

  25. def exists(p: ((K, V)) => Boolean): Boolean

    Indicates whether a predicate holds for at least one of the entries of this NonEmptyMap.

    Indicates whether a predicate holds for at least one of the entries of this NonEmptyMap.

    p

    the predicate used to test entries.

    returns

    true if the given predicate p holds for some of the entries of this NonEmptyMap, otherwise false.

  26. def find(p: ((K, V)) => Boolean): Option[(K, V)]

    Finds the first entry of this NonEmptyMap that satisfies the given predicate, if any.

    Finds the first entry of this NonEmptyMap that satisfies the given predicate, if any.

    p

    the predicate used to test elements

    returns

    an Some containing the first element in this NonEmptyMap that satisfies p, or None if none exists.

  27. def flatMap[K1, V1](f: ((K, V)) => NonEmptyMap[K1, V1]): NonEmptyMap[K1, V1]

    Builds a new NonEmptyMap by applying a function to all entries of this NonEmptyMap and using the entries of the resulting NonEmptyMaps.

    Builds a new NonEmptyMap by applying a function to all entries of this NonEmptyMap and using the entries of the resulting NonEmptyMaps.

    K1

    the key type of the returned NonEmptyMap

    V1

    the value type of the returned NonEmptyMap

    f

    the function to apply to each entry.

    returns

    a new NonEmptyMap containing entries obtained by applying the given function f to each entry of this NonEmptyMap and concatenating the entries of resulting NonEmptyMaps.

  28. def fold[U >: (K, V)](z: U)(op: (U, U) => U): U

    Folds the entries of this NonEmptyMap using the specified associative binary operator.

    Folds the entries of this NonEmptyMap using the specified associative binary operator.

    The order in which operations are performed on entries is unspecified and may be nondeterministic.

    U

    a type parameter for the binary operator, a supertype of (K, V).

    z

    a neutral element for the fold operation; may be added to the result an arbitrary number of times, and must not change the result (e.g., Nil for list concatenation, 0 for addition, or 1 for multiplication.)

    op

    a binary operator that must be associative

    returns

    the result of applying fold operator op between all the elements and z

  29. def foldLeft[B](z: B)(op: (B, (K, V)) => B): B

    Applies a binary operator to a start value and all elements of this NonEmptyMap, going left to right.

    Applies a binary operator to a start value and all elements of this NonEmptyMap, going left to right.

    B

    the result type of the binary operator.

    z

    the start value.

    op

    the binary operator.

    returns

    the result of inserting op between consecutive entries of this NonEmptyMap, going left to right, with the start value, z, on the left:

    op(...op(op(z, x_1), x_2), ..., x_n)
    
    where x1, ..., xn are the elements of this NonEmptyMap.

  30. def foldRight[B](z: B)(op: ((K, V), B) => B): B

    Applies a binary operator to all entries of this NonEmptyMap and a start value, going right to left.

    Applies a binary operator to all entries of this NonEmptyMap and a start value, going right to left.

    B

    the result of the binary operator

    z

    the start value

    op

    the binary operator

    returns

    the result of inserting op between consecutive entries of this NonEmptyMap, going right to left, with the start value, z, on the right:

    op(x_1, op(x_2, ... op(x_n, z)...))
    
    where x1, ..., xn are the elements of this NonEmptyMap.

  31. def forall(p: ((K, V)) => Boolean): Boolean

    Indicates whether a predicate holds for all entries of this NonEmptyMap.

    Indicates whether a predicate holds for all entries of this NonEmptyMap.

    p

    the predicate used to test entries.

    returns

    true if the given predicate p holds for all entries of this NonEmptyMap, otherwise false.

  32. def foreach(f: ((K, V)) => Unit): Unit

    Applies a function f to all entries of this NonEmptyMap.

    Applies a function f to all entries of this NonEmptyMap.

    f

    the function that is applied for its side-effect to every entry. The result of function f is discarded.

  33. def getClass(): Class[_ <: AnyVal]
    Definition Classes
    AnyVal → Any
  34. def groupBy(f: ((K, V)) => K): Map[K, NonEmptyMap[K, V]]

    Partitions this NonEmptyMap into a map of NonEmptyMaps according to some discriminator function.

    Partitions this NonEmptyMap into a map of NonEmptyMaps according to some discriminator function.

    f

    the discriminator function.

    returns

    A map from keys to NonEmptyMaps such that the following invariant holds:

    (nonEmptyMap.toMap partition f)(k) = xs filter (x => f(x) == k)
    
    That is, every key k is bound to a NonEmptyMap of those elements x for which f(x) equals k.

  35. def grouped(size: Int): Iterator[NonEmptyMap[K, V]]

    Partitions entries into fixed size NonEmptyMaps.

    Partitions entries into fixed size NonEmptyMaps.

    size

    the number of entries per group

    returns

    An iterator producing NonEmptyMaps of size size, except the last will be truncated if the entries don't divide evenly.

  36. def hasDefiniteSize: Boolean

    Returns true to indicate this NonEmptyMap has a definite size, since all NonEmptyMaps are strict collections.

  37. def head: (K, V)

    Selects the first element of this NonEmptyMap.

    Selects the first element of this NonEmptyMap.

    returns

    the first element of this NonEmptyMap.

  38. def isDefinedAt(key: K): Boolean

    Tests whether this NonEmptyMap contains given key.

    Tests whether this NonEmptyMap contains given key.

    key

    the key to test

    returns

    true if this NonEmptyMap contains a binding for the given key, false otherwise.

  39. def isEmpty: Boolean

    Returns false to indicate this NonEmptyMap, like all NonEmptyMaps, is non-empty.

    Returns false to indicate this NonEmptyMap, like all NonEmptyMaps, is non-empty.

    returns

    false

  40. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  41. def isTraversableAgain: Boolean

    Returns true to indicate this NonEmptyMap, like all NonEmptyMaps, can be traversed repeatedly.

    Returns true to indicate this NonEmptyMap, like all NonEmptyMaps, can be traversed repeatedly.

    returns

    true

  42. def iterator: Iterator[(K, V)]

    Creates and returns a new iterator over all elements contained in this NonEmptyMap.

    Creates and returns a new iterator over all elements contained in this NonEmptyMap.

    returns

    the new iterator

  43. def keySet: NonEmptySet[K]
  44. def last: (K, V)

    Selects the last entry of this NonEmptyMap.

    Selects the last entry of this NonEmptyMap.

    returns

    the last entry of this NonEmptyMap.

  45. def map[K1, V1](f: ((K, V)) => (K1, V1)): NonEmptyMap[K1, V1]

    Builds a new NonEmptyMap by applying a function to all entries of this NonEmptyMap.

    Builds a new NonEmptyMap by applying a function to all entries of this NonEmptyMap.

    K1

    the key type of the returned NonEmptyMap.

    V1

    the value type of the returned NonEmptyMap.

    f

    the function to apply to each element.

    returns

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

  46. def max[U >: (K, V)](implicit cmp: Ordering[U]): (K, V)

    Finds the largest entry.

    Finds the largest entry.

    returns

    the largest entry of this NonEmptyMap.

  47. def maxBy[U](f: ((K, V)) => U)(implicit cmp: Ordering[U]): (K, V)

    Finds the largest result after applying the given function to every entry.

    Finds the largest result after applying the given function to every entry.

    returns

    the largest result of applying the given function to every entry of this NonEmptyMap.

  48. def min[U >: (K, V)](implicit cmp: Ordering[U]): (K, V)

    Finds the smallest entry.

    Finds the smallest entry.

    returns

    the smallest entry of this NonEmptyMap.

  49. def minBy[U](f: ((K, V)) => U)(implicit cmp: Ordering[U]): (K, V)

    Finds the smallest result after applying the given function to every entry.

    Finds the smallest result after applying the given function to every entry.

    returns

    the smallest result of applying the given function to every entry of this NonEmptyMap.

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

    Displays all entries of this NonEmptyMap in a string using start, end, and separator strings.

    Displays all entries of this NonEmptyMap in a string using start, end, and separator strings.

    start

    the starting string.

    sep

    the separator string.

    end

    the ending string.

    returns

    a string representation of this NonEmptyMap. The resulting string begins with the string start and ends with the string end. Inside, In the resulting string, the result of invoking toString on all entries of this NonEmptyMap are separated by the string sep.

  51. def mkString(sep: String): String

    Displays all entries of this NonEmptyMap in a string using a separator string.

    Displays all entries of this NonEmptyMap in a string using a separator string.

    sep

    the separator string

    returns

    a string representation of this NonEmptyMap. In the resulting string, the result of invoking toString on all entries of this NonEmptyMap are separated by the string sep.

  52. def mkString: String

    Displays all entries of this NonEmptyMap in a string.

    Displays all entries of this NonEmptyMap in a string.

    returns

    a string representation of this NonEmptyMap. In the resulting string, the result of invoking toString on all entries of this NonEmptyMap follow each other without any separator string.

  53. def nonEmpty: Boolean

    Returns true to indicate this NonEmptyMap, like all NonEmptyMaps, is non-empty.

    Returns true to indicate this NonEmptyMap, like all NonEmptyMaps, is non-empty.

    returns

    true

  54. def product[U >: (K, V)](implicit num: Numeric[U]): U

    The result of multiplying all the entries of this NonEmptyMap.

    The result of multiplying all the entries of this NonEmptyMap.

    This method can be invoked for any NonEmptyMap[T] for which an implicit Numeric[T] exists.

    returns

    the product of all elements

  55. def reduce[U >: (K, V)](op: (U, U) => U): U

    Reduces the entries of this NonEmptyMap using the specified associative binary operator.

    Reduces the entries of this NonEmptyMap using the specified associative binary operator.

    The order in which operations are performed on entries is unspecified and may be nondeterministic.

    U

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

    op

    a binary operator that must be associative.

    returns

    the result of applying reduce operator op between all the elements of this NonEmptyMap.

  56. def reduceLeft[U >: (K, V)](op: (U, (K, V)) => U): U

    Applies a binary operator to all entries of this NonEmptyMap, going left to right.

    Applies a binary operator to all entries of this NonEmptyMap, going left to right.

    U

    the result type of the binary operator.

    op

    the binary operator.

    returns

    the result of inserting op between consecutive entries of this NonEmptyMap, going left to right:

    op(...op(op(x_1, x_2), x_3), ..., x_n)
    
    where x1, ..., xn are the elements of this NonEmptyMap.

  57. def reduceLeftOption[U >: (K, V)](op: (U, (K, V)) => U): Option[U]

    Applies a binary operator to all entries of this NonEmptyMap, going left to right, returning the result in a Some.

    Applies a binary operator to all entries of this NonEmptyMap, going left to right, returning the result in a Some.

    U

    the result type of the binary operator.

    op

    the binary operator.

    returns

    a Some containing the result of reduceLeft(op)

  58. def reduceOption[U >: (K, V)](op: (U, U) => U): Option[U]
  59. def reduceRight[U >: (K, V)](op: ((K, V), U) => U): U

    Applies a binary operator to all entries of this NonEmptyMap, going right to left.

    Applies a binary operator to all entries of this NonEmptyMap, going right to left.

    U

    the result of the binary operator

    op

    the binary operator

    returns

    the result of inserting op between consecutive entries of this NonEmptyMap, going right to left:

    op(x_1, op(x_2, ... op(x_{n-1}, x_n)...))
    
    where x1, ..., xn are the entries of this NonEmptyMap.

  60. def reduceRightOption[U >: (K, V)](op: ((K, V), U) => U): Option[U]

    Applies a binary operator to all entries of this NonEmptyMap, going right to left, returning the result in a Some.

    Applies a binary operator to all entries of this NonEmptyMap, going right to left, returning the result in a Some.

    U

    the result of the binary operator

    op

    the binary operator

    returns

    a Some containing the result of reduceRight(op)

  61. def sameElements[V1 >: V](that: NonEmptyMap[K, V1]): Boolean

    Checks if the given NonEmptyMap contains the same entries in the same order as this NonEmptyMap.

    Checks if the given NonEmptyMap contains the same entries in the same order as this NonEmptyMap.

    that

    the NonEmptyMap with which to compare

    returns

    true, if both this and the given NonEmptyMap contain the same entries in the same order, false otherwise.

  62. def scan[V1 >: V](z: (K, V1))(op: ((K, V1), (K, V1)) => (K, V1)): NonEmptyMap[K, V1]

    Computes a prefix scan of the entries of this NonEmptyMap.

    Computes a prefix scan of the entries of this NonEmptyMap.

    z

    a neutral element for the scan operation; may be added to the result an arbitrary number of times, and must not change the result (e.g., Nil for list concatenation, 0 for addition, or 1 for multiplication.)

    op

    a binary operator that must be associative

    returns

    a new NonEmptyMap containing the prefix scan of the elements in this NonEmptyMap

    Note

    The neutral element z may be applied more than once.

  63. def size: Int

    The size of this NonEmptyMap.

    The size of this NonEmptyMap.

    returns

    the number of elements in this NonEmptyMap.

    Note

    length and size yield the same result, which will be >= 1.

  64. def sliding(size: Int, step: Int): Iterator[NonEmptyMap[K, V]]

    Groups entries in fixed size blocks by passing a “sliding window” over them (as opposed to partitioning them, as is done in grouped.), moving the sliding window by a given step each time.

    Groups entries in fixed size blocks by passing a “sliding window” over them (as opposed to partitioning them, as is done in grouped.), moving the sliding window by a given step each time.

    size

    the number of entries per group

    step

    the distance between the first entries of successive groups

    returns

    an iterator producing NonEmptyMaps of size size, except the last and the only element will be truncated if there are fewer elements than size.

  65. def sliding(size: Int): Iterator[NonEmptyMap[K, V]]

    Groups entries in fixed size blocks by passing a “sliding window” over them (as opposed to partitioning them, as is done in grouped.)

    Groups entries 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 entries per group

    returns

    an iterator producing NonEmptyMaps of size size, except the last and the only element will be truncated if there are fewer entries than size.

  66. def stringPrefix: String

    Returns "NonEmptyMap", the prefix of this object's toString representation.

    Returns "NonEmptyMap", the prefix of this object's toString representation.

    returns

    the string "NonEmptyMap"

  67. def sum[U >: (K, V)](implicit num: Numeric[U]): U

    The result of summing all the elements of this NonEmptyMap.

    The result of summing all the elements of this NonEmptyMap.

    This method can be invoked for any NonEmptyMap[T] for which an implicit Numeric[T] exists.

    returns

    the sum of all elements

  68. def tail: Map[K, V]
  69. def to[C1](factory: Factory[(K, V), C1]): C1

    Converts this NonEmptyMap into a collection of type Col by copying all entries.

    Converts this NonEmptyMap into a collection of type Col by copying all entries.

    C1

    the collection type to build.

    returns

    a new collection containing all entries of this NonEmptyMap.

  70. def toArray[U >: (K, V)](implicit classTag: ClassTag[U]): Array[U]

    Converts this NonEmptyMap to an array.

    Converts this NonEmptyMap to an array.

    returns

    an array containing all entries of this NonEmptyMap. A ClassTag must be available for the entry type of this NonEmptyMap.

  71. def toBuffer[U >: (K, V)]: Buffer[U]

    Converts this NonEmptyMap to a mutable buffer.

    Converts this NonEmptyMap to a mutable buffer.

    returns

    a buffer containing all entries of this NonEmptyMap.

  72. def toIndexedSeq: IndexedSeq[(K, V)]

    Converts this NonEmptyMap to an immutable IndexedSeq.

    Converts this NonEmptyMap to an immutable IndexedSeq.

    returns

    an immutable IndexedSeq containing all entries of this NonEmptyMap.

  73. def toIterable: Iterable[(K, V)]

    Converts this NonEmptyMap to an iterable collection.

    Converts this NonEmptyMap to an iterable collection.

    returns

    an Iterable containing all entries of this NonEmptyMap.

  74. def toIterator: Iterator[(K, V)]

    Returns an Iterator over the entries in this NonEmptyMap.

    Returns an Iterator over the entries in this NonEmptyMap.

    returns

    an Iterator containing all entries of this NonEmptyMap.

  75. val toMap: Map[K, V]
  76. def toSeq: Seq[(K, V)]

    Converts this NonEmptyMap to an immutable IndexedSeq.

    Converts this NonEmptyMap to an immutable IndexedSeq.

    returns

    an immutable IndexedSeq containing all entries of this NonEmptyMap.

  77. def toSet[U >: (K, V)]: Set[U]

    Converts this NonEmptyMap to a set.

    Converts this NonEmptyMap to a set.

    returns

    a set containing all entries of this NonEmptyMap.

  78. def toString(): String

    Returns a string representation of this NonEmptyMap.

    Returns a string representation of this NonEmptyMap.

    returns

    the string "NonEmptyMap" followed by the result of invoking toString on this NonEmptyMap's elements, surrounded by parentheses.

    Definition Classes
    NonEmptyMap → Any
  79. def toVector: Vector[(K, V)]

    Converts this NonEmptyMap to a Vector.

    Converts this NonEmptyMap to a Vector.

    returns

    a Vector containing all entries of this NonEmptyMap.

  80. def unzip[L, R](implicit asPair: ((K, V)) => (L, R)): (Iterable[L], Iterable[R])

    Converts this NonEmptyMap of pairs into two Iterables of the first and second half of each pair.

    Converts this NonEmptyMap of pairs into two Iterables of the first and second half of each pair.

    L

    the type of the first half of the element pairs

    R

    the type of the second half of the element pairs

    asPair

    an implicit conversion that asserts that the element type of this NonEmptyMap is a pair.

    returns

    a pair of NonEmptyMaps, containing the first and second half, respectively, of each element pair of this NonEmptyMap.

  81. def unzip3[L, M, R](implicit asTriple: ((K, V)) => (L, M, R)): (Iterable[L], Iterable[M], Iterable[R])

    Converts this NonEmptyMap of triples into three NonEmptyMaps of the first, second, and and third entry of each triple.

    Converts this NonEmptyMap of triples into three NonEmptyMaps of the first, second, and and third entry of each triple.

    L

    the type of the first member of the entry triples

    R

    the type of the third member of the entry triples

    asTriple

    an implicit conversion that asserts that the entry type of this NonEmptyMap is a triple.

    returns

    a triple of NonEmptyMaps, containing the first, second, and third member, respectively, of each entry triple of this NonEmptyMap.

  82. def updated[V1 >: V](key: K, value: V1): NonEmptyMap[K, V1]

    A copy of this NonEmptyMap with one single replaced entry.

    A copy of this NonEmptyMap with one single replaced entry.

    key

    the key of the replacement

    value

    the replacing value

    returns

    a copy of this NonEmptyMap with the value at key replaced by the given value.

  83. def zipAll[O, V1 >: V](other: Iterable[O], thisElem: (K, V1), otherElem: O): NonEmptyMap[(K, V1), O]

    Returns a NonEmptyMap formed from this NonEmptyMap and an iterable collection by combining corresponding entries in pairs.

    Returns a NonEmptyMap formed from this NonEmptyMap and an iterable collection by combining corresponding entries in pairs. If one of the two collections is shorter than the other, placeholder entries will be used to extend the shorter collection to the length of the longer.

    O

    the type of the second half of the returned pairs

    V1

    the subtype of the value type of this NonEmptyMap

    other

    the Iterable providing the second half of each result pair

    thisElem

    the element to be used to fill up the result if this NonEmptyMap is shorter than that Iterable.

    otherElem

    the element to be used to fill up the result if that Iterable is shorter than this NonEmptyMap.

    returns

    a new NonEmptyMap containing pairs consisting of corresponding entries of this NonEmptyMap and that. The length of the returned collection is the maximum of the lengths of this NonEmptyMap and that. If this NonEmptyMap is shorter than that, thisElem values are used to pad the result. If that is shorter than this NonEmptyMap, thatElem values are used to pad the result.

  84. def zipWithIndex[V1 >: V]: NonEmptyMap[(K, V1), Int]

    Zips this NonEmptyMap with its indices.

    Zips this NonEmptyMap with its indices.

    returns

    A new NonEmptyMap containing pairs consisting of all elements of this NonEmptyMap paired with their index. Indices start at 0.

Inherited from AnyVal

Inherited from Any

Ungrouped