【问题标题】:Example of scala MultiMap where the entry types differ条目类型不同的scala MultiMap示例
【发布时间】:2012-05-15 13:36:38
【问题描述】:

我希望单个长键具有不同类型的条目。

因此,鉴于我有一个 1 的键,我希望有以下条目:

1、“狗”
1、3

首先,是否可以同时包含 String 和 Int 类型的条目,如果是这样,我可以看到一个混合了 MultiMap 的 HashMap 示例,其中显示了如何添加条目然后只访问“dog”条目?

谢谢!

【问题讨论】:

    标签: scala scala-collections multimap


    【解决方案1】:

    如果您希望您的地图包含两种类型的条目的混合,您可以使用EitherEitherOption 类似,除了 SomeNone 相比,LeftRight 不同。

    import scala.collection.mutable.HashMap
    import scala.collection.mutable.Set
    import scala.collection.mutable.MultiMap
    
    val m = new HashMap[Int, Set[Either[Int, String]]] with MultiMap[Int, Either[Int, String]]
    
    m.addBinding(1, Right("dog"))
    m.addBinding(1, Left(3))
    
    m(1).collect{ case Right(s) => s }             // Set(dog)
    m.mapValues(_.collect{ case Right(s) => s })   // Map(1 -> Set(dog))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2023-02-14
      • 1970-01-01
      • 2013-01-05
      • 1970-01-01
      • 2013-07-15
      相关资源
      最近更新 更多