使用谓词从scala可变地图中删除元素的正确方法是什么?
发布时间:2020-12-16 09:11:45 所属栏目:安全 来源:网络整理
导读:如何做,而不创建任何新的集合?有没有比这更好的东西? val m = scala.collection.mutable.Map[String,Long]("1" - 1,"2" - 2,"3" - 3,"4" - 4)m.foreach(t = if (t._2 % 2 == 0) m.remove(t._1))println(m) 附:在Scala 2.8 解决方法 保留做你想要的在2.7:
如何做,而不创建任何新的集合?有没有比这更好的东西?
val m = scala.collection.mutable.Map[String,Long]("1" -> 1,"2" -> 2,"3" -> 3,"4" -> 4) m.foreach(t => if (t._2 % 2 == 0) m.remove(t._1)) println(m) 附:在Scala 2.8 解决方法
保留做你想要的在2.7:
val a = collection.mutable.Map(1->"one",2->"two",3->"three") a: scala.collection.mutable.Map[Int,java.lang.String] = Map(2 -> two,1 -> one,3 -> three) scala> a.retain((k,v) => v.length < 4) scala> a res0: scala.collection.mutable.Map[Int,java.lang.String] = Map(2 -> two,1 -> one) 它也是有效的,但是我觉得在2.8中还是有效的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容