NonEmptyMap

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

== 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")
Type parameters:
K

the type of key contained in this NonEmptyMap

V

the type of value contained in this NonEmptyMap

Companion:
object
Source:
NonEmptyMap.scala
class AnyVal
trait Matchable
class Any

Value members

Concrete methods

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.

Value parameters:
entry

the entry to add to this NonEmptyMap

Returns:

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

Source:
NonEmptyMap.scala
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.

Value parameters:
entries

the entries to add to this NonEmptyMap

Returns:

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

Source:
NonEmptyMap.scala
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. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this and 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.

Type parameters:
V1

the value type of the returned NonEmptyMap

Value parameters:
other

the NonEmptyMap to append

Returns:

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

Source:
NonEmptyMap.scala
def ++[V1 >: V](other: Every[(K, V1)]): NonEmptyMap[K, V1]

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

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

Type parameters:
V1

the value type of the returned NonEmptyMap

Value parameters:
other

the Every to append

Returns:

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

Source:
NonEmptyMap.scala
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 GenTraversableOnce. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this NonEmptyMap and the passed GenTraversableOnce.

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

Type parameters:
V1

the value type of the returned NonEmptyMap

Value parameters:
other

the GenTraversableOnce to append

Returns:

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

Source:
NonEmptyMap.scala
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. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this and 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.

Type parameters:
V1

the value type of the returned NonEmptyMap

Value parameters:
other

the NonEmptyMap to add

Returns:

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

Source:
NonEmptyMap.scala
def ++:[V1 >: V](other: Every[(K, V1)]): NonEmptyMap[K, V1]

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

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

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.

Type parameters:
V1

the value type of the returned NonEmptyMap

Value parameters:
other

the Every to append

Returns:

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

Source:
NonEmptyMap.scala
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 GenTraversableOnce. The entry type of the resulting NonEmptyMap is the most specific superclass encompassing the entry types of this NonEmptyMap and the passed GenTraversableOnce.

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

Type parameters:
V1

the value type of the returned NonEmptyMap

Value parameters:
other

the GenTraversableOnce to append

Returns:

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

Source:
NonEmptyMap.scala
final 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.

Value parameters:
entry

the element to add to this NonEmptyMap

Returns:

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

Source:
NonEmptyMap.scala
final def addString(sb: StringBuilder): StringBuilder

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.

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.

Value parameters:
sb

the string builder to which entries will be appended

Returns:

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

Source:
NonEmptyMap.scala
final def addString(sb: StringBuilder, sep: String): StringBuilder

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.

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.

Value parameters:
sb

the string builder to which entries will be appended

sep

the separator string

Returns:

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

Source:
NonEmptyMap.scala
final 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. 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

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

Value parameters:
sb

the string builder to which elements will be appended

sep

the separator string

start

the ending string

Returns:

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

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Value parameters:
key

the key to look for

Returns:

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

Source:
NonEmptyMap.scala
final def copyToArray[V1 >: V](arr: Array[(K, V1)]): Unit

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.

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.

Value parameters:
arr

the array to fill

Source:
NonEmptyMap.scala
final def copyToArray[V1 >: V](arr: Array[(K, V1)], start: Int): Unit

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.

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.

Value parameters:
arr

the array to fill

start

the starting index

Source:
NonEmptyMap.scala
final def copyToArray[V1 >: V](arr: Array[(K, V1)], start: Int, len: Int): Unit

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.

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.

Value parameters:
arr

the array to fill

len

the maximum number of elements to copy

start

the starting index

Source:
NonEmptyMap.scala
final 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.

Value parameters:
buf

the buffer to which elements are copied

Source:
NonEmptyMap.scala
final 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.

Value parameters:
p

the predicate used to test elements.

Returns:

the number of elements satisfying the predicate p.

Source:
NonEmptyMap.scala
final 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.

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Type parameters:
K1

the key type of the returned NonEmptyMap

V1

the value type of the returned NonEmptyMap

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Type parameters:
U

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

Value parameters:
op

a binary operator that must be associative

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

Returns:

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

Source:
NonEmptyMap.scala
final 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.

Type parameters:
B

the result type of the binary operator.

Value parameters:
op

the binary operator.

z

the start value.

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.

Source:
NonEmptyMap.scala
final 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.

Type parameters:
B

the result of the binary operator

Value parameters:
op

the binary operator

z

the start value

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.

Source:
NonEmptyMap.scala
final 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.

Value parameters:
p

the predicate used to test entries.

Returns:

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

Source:
NonEmptyMap.scala
final 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.

Value parameters:
f

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

Source:
NonEmptyMap.scala
final 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.

Value parameters:
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.

Source:
NonEmptyMap.scala
final def grouped(size: Int): Iterator[NonEmptyMap[K, V]]

Partitions entries into fixed size NonEmptyMaps.

Partitions entries into fixed size NonEmptyMaps.

Value parameters:
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.

Source:
NonEmptyMap.scala
final def hasDefiniteSize: Boolean

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

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

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final def headOption: Option[(K, V)]

Selects the first element of this NonEmptyMap and returns it wrapped in a Some.

Selects the first element of this NonEmptyMap and returns it wrapped in a Some.

Returns:

the first element of this NonEmptyMap, wrapped in a Some.

Source:
NonEmptyMap.scala
final def isDefinedAt(key: K): Boolean

Tests whether this NonEmptyMap contains given key.

Tests whether this NonEmptyMap contains given key.

Value parameters:
key

the key to test

Returns:

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

Source:
NonEmptyMap.scala
final 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

Source:
NonEmptyMap.scala
final 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

Source:
NonEmptyMap.scala
final 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

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final def lastOption: Option[(K, V)]

Returns the last element of this NonEmptyMap, wrapped in a Some.

Returns the last element of this NonEmptyMap, wrapped in a Some.

Returns:

the last element, wrapped in a Some.

Source:
NonEmptyMap.scala
final 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.

Type parameters:
K1

the key type of the returned NonEmptyMap.

V1

the value type of the returned NonEmptyMap.

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Value parameters:
end

the ending string.

sep

the separator string.

start

the starting 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.

Source:
NonEmptyMap.scala
final 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

Source:
NonEmptyMap.scala
final 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

Source:
NonEmptyMap.scala
final 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.

Type parameters:
U

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

Value parameters:
op

a binary operator that must be associative.

Returns:

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

Source:
NonEmptyMap.scala
final 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.

Type parameters:
U

the result type of the binary operator.

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Type parameters:
U

the result type of the binary operator.

Value parameters:
op

the binary operator.

Returns:

a Some containing the result of reduceLeft(op)

Source:
NonEmptyMap.scala
final def reduceOption[U >: (K, V)](op: (U, U) => U): Option[U]
final 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.

Type parameters:
U

the result of the binary operator

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Type parameters:
U

the result of the binary operator

Value parameters:
op

the binary operator

Returns:

a Some containing the result of reduceRight(op)

Source:
NonEmptyMap.scala
final def sameElements[U >: (K, V)](that: Iterable[U]): Boolean

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

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

Value parameters:
that

the GenIterable with which to compare

Returns:

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

Source:
NonEmptyMap.scala
final def sameElements[U >: (K, V)](that: Every[U]): Boolean

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

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

Value parameters:
that

the Every with which to compare

Returns:

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

Source:
NonEmptyMap.scala
final 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.

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Note: The neutral element z may be applied more than once.

Value parameters:
op

a binary operator that must be associative

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

Returns:

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

Source:
NonEmptyMap.scala
final def size: Int

The size of this NonEmptyMap.

The size of this NonEmptyMap.

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

Returns:

the number of elements in this NonEmptyMap.

Source:
NonEmptyMap.scala
final 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.)

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Value parameters:
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.

Source:
NonEmptyMap.scala
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"

Source:
NonEmptyMap.scala
final 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

Source:
NonEmptyMap.scala
final def to[Col[_]](factory: Factory[(K, V), Col[(K, V)]]): Col[(K, V)]

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.

Type parameters:
Col

the collection type to build.

Returns:

a new collection containing all entries of this NonEmptyMap.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final def toStream: Stream[(K, V)]

Converts this NonEmptyMap to a stream.

Converts this NonEmptyMap to a stream.

Returns:

a stream containing all entries of this NonEmptyMap.

Source:
NonEmptyMap.scala
override 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
Any
Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala
final 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.

Type parameters:
L

the type of the first half of the element pairs

R

the type of the second half of the element pairs

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Type parameters:
L

the type of the first member of the entry triples

R

the type of the third member of the entry triples

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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.

Value parameters:
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.

Source:
NonEmptyMap.scala
final 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. 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.

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.

Type parameters:
O

the type of the second half of the returned pairs

V1

the subtype of the value type of this NonEmptyMap

Value parameters:
other

the Iterable providing the second half of each result pair

otherElem

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

thisElem

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

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.

Source:
NonEmptyMap.scala
final 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.

Source:
NonEmptyMap.scala

Concrete fields

val toMap: Map[K, V]