collection

o1.util.nice.collection
object collection

Provides nice extensions to the interface of scala.Iterable, for convenience.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
collection.type

Members list

Extensions

Extensions

extension [Element, Collection <: (Iterable)](self: Collection[Element])

Constructs and returns a new map with the collection’s elements as keys and each element’s occurrence counts as the corresponding values. This is equivalent to mapGroups(identity)( _.size ).

Constructs and returns a new map with the collection’s elements as keys and each element’s occurrence counts as the corresponding values. This is equivalent to mapGroups(identity)( _.size ).

Attributes

inline def ifNonEmpty[Result](compute: (Collection[Element]) => Result): Option[Result]

Applies the given function to the collection in case there’s at least one element there. Returns None if the collection is empty.

Applies the given function to the collection in case there’s at least one element there. Returns None if the collection is empty.

Attributes

def log(format: (Iterable[Element]) => String): Collection[Element]

Prints out the collection, then returns the unmodified collection.

Prints out the collection, then returns the unmodified collection.

Parameters

format

a function from the collection to the desired printout; defaults to _.toString

Attributes

def mapFromID[ID](formID: Element => ID): Map[ID, Element]

Constructs and returns a new map by applying an ID-generating function to each element of the collection and using the collection’s elements as values. This is equivalent to calling mapify(formID)(identity).

Constructs and returns a new map by applying an ID-generating function to each element of the collection and using the collection’s elements as values. This is equivalent to calling mapify(formID)(identity).

Parameters

formID

a function called on each element of the collection to obtain the keys

Attributes

def mapGroups[Key, Value](formKey: Element => Key)(transformGroup: (Iterable[Element]) => Value): Map[Key, Value]

Constructs and returns a new map by using one given function to group the elements of the collection (as per groupBy) and then transforming each of the groups using another given function (as per mapValues).

Constructs and returns a new map by using one given function to group the elements of the collection (as per groupBy) and then transforming each of the groups using another given function (as per mapValues).

Parameters

formKey

a function called on each element of the collection to generate groups of values

transformGroup

a function called on each group to obtain the values for the resulting collection

Attributes

def mapTo[Value](formValue: Element => Value): Map[Element, Value]

Constructs and returns a new map by applying a value-generating function to each element of the collection and using the collection’s elements as keys. This is equivalent to calling mapify(identity)(formValue).

Constructs and returns a new map by applying a value-generating function to each element of the collection and using the collection’s elements as keys. This is equivalent to calling mapify(identity)(formValue).

Parameters

formValue

a function called on each element of the collection to obtain the keys

Attributes

def mapify[Key, Value](formKey: Element => Key)(formValue: Element => Value): Map[Key, Value]

Constructs and returns a new map by applying a key-generating function as well as a value-generating function to each element of the collection. The respective outputs of the functions are paired to form the key—value pairs of the Map.

Constructs and returns a new map by applying a key-generating function as well as a value-generating function to each element of the collection. The respective outputs of the functions are paired to form the key—value pairs of the Map.

Parameters

formKey

a function called on each element of the collection to obtain the keys

formValue

a function called on each element of the collection to obtain the values

Attributes

Returns an iterator of pairs (tuples) that “slide across” the collection as per sliding.

Returns an iterator of pairs (tuples) that “slide across” the collection as per sliding.

Attributes

def tap(effect: Element => Unit): Collection[Element]

Performs a given side effect at each element of the collection. Returns the unmodified collection.

Performs a given side effect at each element of the collection. Returns the unmodified collection.

Attributes

Returns a LazyList containing the collection’s elements. This is equivalent to to(LazyList).

Returns a LazyList containing the collection’s elements. This is equivalent to to(LazyList).

Attributes