scala的breakOut的应用

Posted ZL小屁孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala的breakOut的应用相关的知识,希望对你有一定的参考价值。

问题:在scala中,List或Set等集合如何转换为Map集合?

由List/Set转换Map集合时,一般情况下,需要对其元素以元组的形式,再通过toMap等函数实现。

利用collections.breakOut的方式可直接由List/Set转换为Map集合,如:

val breakOut: Map[Int, String] = List("china", "usa", "russia").map(x => (x.length, x))(collection.breakOut)
    def mergeMessage(attr1: mutable.Map[VertexId, Double], attr2: mutable.Map[VertexId, Double]): mutable.Map[VertexId, Double] = 
      (attr1.keySet ++ attr2.keySet).map  key =>  
        val attr1Val = attr1.getOrElse(key, 0.0)    
        val attr2Val = attr2.getOrElse(key, 0.0)    
        key -> (attr1Val + attr2Val)               
      (collection.breakOut)
    

英文比较好的可查看:https://stackoverflow.com/questions/1715681/scala-2-8-breakout/1716558#1716558

还是有点不太懂!!!

以上是关于scala的breakOut的应用的主要内容,如果未能解决你的问题,请参考以下文章

(译)LearnOpenGL实际案例Breakout:能量块

Vulnhub_Breakout

Vulnhub_Breakout

Vulnhub_Breakout

(译)LearnOpenGL实际案例Breakout:小球

Vulnhub之Matrix Breakout 2 Morpheus靶机详细测试过程