Scala的Tuple拉鍊操作、Java Map與Scala Map的隱式轉換
阿新 • • 發佈:2019-01-06
Tuple拉鍊操作指的就是zip操作
zip操作,是Array類的方法,用於將兩個Array,合併為一個Array比如Array(v1)和Array(v2),使用zip操作合併後的格式為Array((v1,v2))
合併後的Array的元素型別為Tuple
val students = Array("Leo", "Jack", "Jen")
val scores = Array(80, 100, 90)
val studentScores = students.zip(scores)
for ((student, score) <- studentScores)
println(student + " " + score)
如果Array的元素型別是個Tuple,呼叫Array的toMap方法,可以將Array轉換為Map
studentScores.toMap
Java Map與Scala Map的隱式轉換
import scala.collection.JavaConversions.mapAsScalaMap
val javaScores = new java.util.HashMap[String, Int]()
javaScores.put("Alice", 10)
javaScores.put("Bob", 3)
javaScores.put("Cindy", 8)
val scalaScores: scala.collection.mutable.Map[String, Int] = javaScores
import scala.collection.JavaConversions.mapAsJavaMap
import java.awt.font.TextAttribute._
val scalaAttrMap = Map(FAMILY -> "Serif", SIZE -> 12)
val font = new java.awt.Font(scalaAttrMap)