NEMap

izumi.fundamentals.collections.nonempty.NEMap
See theNEMap companion object
final class NEMap[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 NEMap 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 NEMaps ==

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

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

== Working with NEMaps ==

NEMap 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, NEMap defines a method corresponding to every such Map method. Here are an example:

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

NEMap does not currently define any methods corresponding to Map methods that could result in an empty Map. However, an implicit converison from NEMap to Map is defined in the NEMap 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 NEMap, even though filter could result in an empty map—but the result type will be Map instead of NEMap:

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

You can use NEMaps in for expressions. The result will be an NEMap 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) <- NEMap(1 -> "one", 2 -> "two", 3 -> "three")) yield (i + 1, j)
res0: org.scalactic.anyvals.NEMap[Int, String] = NEMap(2 -> "one", 3 -> "two", 4 -> "three")

scala> for ((i, j) <- NEMap(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 NEMap

V

the type of value contained in this NEMap

Attributes

Companion
object
Graph
Supertypes
class AnyVal
trait Matchable
class Any

Members list

Value members

Concrete methods

def +[V1 >: V](entry: (K, V1)): NEMap[K, V1]

Returns a new NEMap with the given entry added.

Returns a new NEMap with the given entry added.

Value parameters

entry

the entry to add to this NEMap

Attributes

Returns

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

def +[V1 >: V](entries: (K, V1)*): NEMap[K, V1]

Returns a new NEMap with the given entries added.

Returns a new NEMap with the given entries added.

Value parameters

entries

the entries to add to this NEMap

Attributes

Returns

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

def ++[V1 >: V](other: NEMap[K, V1]): NEMap[K, V1]

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

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

Type parameters

V1

the value type of the returned NEMap

Value parameters

other

the NEMap to append

Attributes

Returns

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

def ++[V1 >: V](other: Vector[(K, V1)]): NEMap[K, V1]

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

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

Type parameters

V1

the value type of the returned NEMap

Value parameters

other

the Vector to append

Attributes

Returns

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

def ++[V1 >: V](other: IterableOnce[(K, V1)]): NEMap[K, V1]

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

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

Type parameters

V1

the value type of the returned NEMap

Value parameters

other

the TraversableOnce to append

Attributes

Returns

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

def ++:[V1 >: V](other: NEMap[K, V1]): NEMap[K, V1]

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

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

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 NEMap

Value parameters

other

the NEMap to add

Attributes

Returns

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

def ++:[V1 >: V](other: Vector[(K, V1)]): NEMap[K, V1]

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

As with ++, returns a new NEMap containing the entries of this NEMap and the entries of the passed Vector. The entry type of the resulting NEMap is the most specific superclass encompassing the entry types of this NEMap 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.

Type parameters

V1

the value type of the returned NEMap

Value parameters

other

the Vector to append

Attributes

Returns

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

def ++:[V1 >: V](other: IterableOnce[(K, V1)]): NEMap[K, V1]

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

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

Type parameters

V1

the value type of the returned NEMap

Value parameters

other

the TraversableOnce to append

Attributes

Returns

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

def +:[V1 >: V](entry: (K, V1)): NEMap[K, V1]

Returns a new NEMap with the given entry added.

Returns a new NEMap 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 NEMap

Attributes

Returns

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

def addString(sb: StringBuilder): StringBuilder

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

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

Value parameters

sb

the string builder to which entries will be appended

Attributes

Returns

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

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

Appends all entries of this NEMap 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 NEMap, separated by the string sep.

Appends all entries of this NEMap 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 NEMap, separated by the string sep.

Value parameters

sb

the string builder to which entries will be appended

sep

the separator string

Attributes

Returns

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

def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

Appends all entries of this NEMap 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 NEMap, separated by the string sep; and the string end

Appends all entries of this NEMap 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 NEMap, 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

Attributes

Returns

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

def apply(k: K): V

Selects an value by its key in the NEMap.

Selects an value by its key in the NEMap.

Attributes

Returns

the value of this NEMap at key k.

def collectFirst[U](pf: PartialFunction[(K, V), U]): Option[U]

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

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

Value parameters

pf

the partial function

Attributes

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.

infix def contains(key: K): Boolean

Indicates whether this NEMap contains a binding for given key.

Indicates whether this NEMap contains a binding for given key.

Value parameters

key

the key to look for

Attributes

Returns

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

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

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

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

Value parameters

arr

the array to fill

Attributes

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

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

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

Value parameters

arr

the array to fill

start

the starting index

Attributes

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

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

Copies entries of this NEMap to an array. Fills the given array arr with at most len entries of this NEMap, beginning at index start. Copying will stop once either the end of the current NEMap 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

Attributes

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

Copies all elements of this NEMap to a buffer.

Copies all elements of this NEMap to a buffer.

Value parameters

buf

the buffer to which elements are copied

Attributes

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

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

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

Value parameters

p

the predicate used to test elements.

Attributes

Returns

the number of elements satisfying the predicate p.

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

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

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

Value parameters

p

the predicate used to test entries.

Attributes

Returns

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

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

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

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

Value parameters

p

the predicate used to test elements

Attributes

Returns

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

def flatMap[K1, V1](f: ((K, V)) => NEMap[K1, V1]): NEMap[K1, V1]

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

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

Type parameters

K1

the key type of the returned NEMap

V1

the value type of the returned NEMap

Value parameters

f

the function to apply to each entry.

Attributes

Returns

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

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

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

Folds the entries of this NEMap 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.)

Attributes

Returns

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

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

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

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

Type parameters

B

the result type of the binary operator.

Value parameters

op

the binary operator.

z

the start value.

Attributes

Returns

the result of inserting op between consecutive entries of this NEMap, 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 NEMap.

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

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

Applies a binary operator to all entries of this NEMap 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

Attributes

Returns

the result of inserting op between consecutive entries of this NEMap, 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 NEMap.

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

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

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

Value parameters

p

the predicate used to test entries.

Attributes

Returns

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

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

Applies a function f to all entries of this NEMap.

Applies a function f to all entries of this NEMap.

Value parameters

f

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

Attributes

def groupBy(f: ((K, V)) => K): Map[K, NEMap[K, V]]

Partitions this NEMap into a map of NEMaps according to some discriminator function.

Partitions this NEMap into a map of NEMaps according to some discriminator function.

Value parameters

f

the discriminator function.

Attributes

Returns

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

(NEMap.toMap partition f)(k) = xs filter (x => f(x) == k)

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

def grouped(size: Int): Iterator[NEMap[K, V]]

Partitions entries into fixed size NEMaps.

Partitions entries into fixed size NEMaps.

Value parameters

size

the number of entries per group

Attributes

Returns

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

def hasDefiniteSize: Boolean

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

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

Attributes

def head: (K, V)

Selects the first element of this NEMap.

Selects the first element of this NEMap.

Attributes

Returns

the first element of this NEMap.

def isDefinedAt(key: K): Boolean

Tests whether this NEMap contains given key.

Tests whether this NEMap contains given key.

Value parameters

key

the key to test

Attributes

Returns

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

def isEmpty: Boolean

Returns false to indicate this NEMap, like all NEMaps, is non-empty.

Returns false to indicate this NEMap, like all NEMaps, is non-empty.

Attributes

Returns

false

def isTraversableAgain: Boolean

Returns true to indicate this NEMap, like all NEMaps, can be traversed repeatedly.

Returns true to indicate this NEMap, like all NEMaps, can be traversed repeatedly.

Attributes

Returns

true

def iterator: Iterator[(K, V)]

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

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

Attributes

Returns

the new iterator

def keySet: NESet[K]
def last: (K, V)

Selects the last entry of this NEMap.

Selects the last entry of this NEMap.

Attributes

Returns

the last entry of this NEMap.

def map[K1, V1](f: ((K, V)) => (K1, V1)): NEMap[K1, V1]

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

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

Type parameters

K1

the key type of the returned NEMap.

V1

the value type of the returned NEMap.

Value parameters

f

the function to apply to each element.

Attributes

Returns

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

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

Finds the largest entry.

Finds the largest entry.

Attributes

Returns

the largest entry of this NEMap.

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.

Attributes

Returns

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

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

Finds the smallest entry.

Finds the smallest entry.

Attributes

Returns

the smallest entry of this NEMap.

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.

Attributes

Returns

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

def mkString: String

Displays all entries of this NEMap in a string.

Displays all entries of this NEMap in a string.

Attributes

Returns

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

def mkString(sep: String): String

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

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

Value parameters

sep

the separator string

Attributes

Returns

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

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

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

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

Value parameters

end

the ending string.

sep

the separator string.

start

the starting string.

Attributes

Returns

a string representation of this NEMap. 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 NEMap are separated by the string sep.

def nonEmpty: Boolean

Returns true to indicate this NEMap, like all NEMaps, is non-empty.

Returns true to indicate this NEMap, like all NEMaps, is non-empty.

Attributes

Returns

true

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

The result of multiplying all the entries of this NEMap.

The result of multiplying all the entries of this NEMap.

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

Attributes

Returns

the product of all elements

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

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

Reduces the entries of this NEMap 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.

Attributes

Returns

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

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

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

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

Type parameters

U

the result type of the binary operator.

Value parameters

op

the binary operator.

Attributes

Returns

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

op(...op(op(x_1, x_2), x_3), ..., x_n)

where x1, ..., xn are the elements of this NEMap.

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

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

Applies a binary operator to all entries of this NEMap, 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.

Attributes

Returns

a Some containing the result of reduceLeft(op)

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

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

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

Type parameters

U

the result of the binary operator

Value parameters

op

the binary operator

Attributes

Returns

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

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

where x1, ..., xn are the entries of this NEMap.

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

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

Applies a binary operator to all entries of this NEMap, 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

Attributes

Returns

a Some containing the result of reduceRight(op)

def sameElements[V1 >: V](that: NEMap[K, V1]): Boolean

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

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

Value parameters

that

the NEMap with which to compare

Attributes

Returns

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

def scan[V1 >: V](z: (K, V1))(op: ((K, V1), (K, V1)) => (K, V1)): NEMap[K, V1]

Computes a prefix scan of the entries of this NEMap.

Computes a prefix scan of the entries of this NEMap.

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

Attributes

Returns

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

Note

The neutral element z may be applied more than once.

def size: Int

The size of this NEMap.

The size of this NEMap.

Attributes

Returns

the number of elements in this NEMap.

Note

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

def sliding(size: Int): Iterator[NEMap[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

Attributes

Returns

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

def sliding(size: Int, step: Int): Iterator[NEMap[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

Attributes

Returns

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

def stringPrefix: String

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

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

Attributes

Returns

the string "NEMap"

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

The result of summing all the elements of this NEMap.

The result of summing all the elements of this NEMap.

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

Attributes

Returns

the sum of all elements

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

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

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

Type parameters

C1

the collection type to build.

Attributes

Returns

a new collection containing all entries of this NEMap.

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

Converts this NEMap to an array.

Converts this NEMap to an array.

Attributes

Returns

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

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

Converts this NEMap to a mutable buffer.

Converts this NEMap to a mutable buffer.

Attributes

Returns

a buffer containing all entries of this NEMap.

def toIndexedSeq: IndexedSeq[(K, V)]

Converts this NEMap to an immutable IndexedSeq.

Converts this NEMap to an immutable IndexedSeq.

Attributes

Returns

an immutable IndexedSeq containing all entries of this NEMap.

def toIterable: Iterable[(K, V)]

Converts this NEMap to an iterable collection.

Converts this NEMap to an iterable collection.

Attributes

Returns

an Iterable containing all entries of this NEMap.

def toIterator: Iterator[(K, V)]

Returns an Iterator over the entries in this NEMap.

Returns an Iterator over the entries in this NEMap.

Attributes

Returns

an Iterator containing all entries of this NEMap.

def toSeq: Seq[(K, V)]

Converts this NEMap to an immutable IndexedSeq.

Converts this NEMap to an immutable IndexedSeq.

Attributes

Returns

an immutable IndexedSeq containing all entries of this NEMap.

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

Converts this NEMap to a set.

Converts this NEMap to a set.

Attributes

Returns

a set containing all entries of this NEMap.

override def toString: String

Returns a string representation of this NEMap.

Returns a string representation of this NEMap.

Attributes

Returns

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

Definition Classes
Any
def toVector: Vector[(K, V)]

Converts this NEMap to a Vector.

Converts this NEMap to a Vector.

Attributes

Returns

a Vector containing all entries of this NEMap.

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

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

Converts this NEMap 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 NEMap is a pair.

Attributes

Returns

a pair of NEMaps, containing the first and second half, respectively, of each element pair of this NEMap.

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

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

Converts this NEMap of triples into three NEMaps 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 NEMap is a triple.

Attributes

Returns

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

def updated[V1 >: V](key: K, value: V1): NEMap[K, V1]

A copy of this NEMap with one single replaced entry.

A copy of this NEMap with one single replaced entry.

Value parameters

key

the key of the replacement

value

the replacing value

Attributes

Returns

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

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

Returns a NEMap formed from this NEMap 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 NEMap formed from this NEMap 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 NEMap

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

thisElem

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

Attributes

Returns

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

def zipWithIndex[V1 >: V]: NEMap[(K, V1), Int]

Zips this NEMap with its indices.

Zips this NEMap with its indices.

Attributes

Returns

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

Concrete fields

val toMap: Map[K, V]