本文介绍了如何从 Scala 中的元组列表构建多映射?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有一个元组列表List[(A, B)]
.将其转换为 multimap
的最佳方法是什么,将 A
映射到 Set[B]
?我可以构建一个 immutable multimap
吗?
Suppose I have a list of tuples List[(A, B)]
. What is the best way to convert it to a multimap
, which maps A
to Set[B]
? Can I build an immutable multimap
?
推荐答案
不适用于 Scala 标准库中的 MultiMap
.当然,你也可以自己写.
Not with the MultiMap
in Scala standard library. Of course, you can write your own.
将其转换为多图的最佳方法是什么?
import scala.collection.mutable.{HashMap, Set, MultiMap}
def list2multimap[A, B](list: List[(A, B)]) =
list.foldLeft(new HashMap[A, Set[B]] with MultiMap[A, B]){(acc, pair) => acc.addBinding(pair._1, pair._2)}
这篇关于如何从 Scala 中的元组列表构建多映射?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!