1. 程式人生 > >Scala的Tuple拉鍊操作、Java Map與Scala Map的隱式轉換

Scala的Tuple拉鍊操作、Java Map與Scala Map的隱式轉換

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)