本文介绍了如何从 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 中的元组列表构建多映射?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 09:57