Skip to content

Instantly share code, notes, and snippets.

@v6ak
Last active December 17, 2015 22:49
Show Gist options
  • Select an option

  • Save v6ak/5685310 to your computer and use it in GitHub Desktop.

Select an option

Save v6ak/5685310 to your computer and use it in GitHub Desktop.
// Prakticky neupravená verze. (Stejná logika jako původní Javový kód, proto imperativní.)
def partitionBy[T, K](inputList: Iterable[T], partitionFunc: T=>K) = {
val multimap = HashMultimap[K, T]()
for (t <- inputList) {
multimap(partitionFunc(t)) = t
}
multimap
}
// Funkcionální verze
def partitionBy[T, K](inputList: Iterable[T], partitionFunc: T=>K>): Multimap<K, T> = HashMultimap(
for(t <- inputList) yield partitionFunc(t) -> t
: _*) // kvůli varargs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment