val map1 = Map("scala" -> 1, "java" -> 2, "C" -> 3) val map2 = Map(("scala", 1), ("java", 2), ("C" -> 3)) map1.getOrElse("C#", -1) // 如果没有要取的值,这个方法不会报错,而是返回-1
元组
val t = ("scala", 100L, 3.14, ("spark", 1)) t ._1 // 访问元组中对应的值 - scala val t, (a, b, c, d) = ("scala", 100L, 3.14, ("spark", 1)) // a 就是对应scala
zip 方法
scala> val arr1 = Array("aaa", "bbb", "ccc") arr1: Array[String] = Array(aaa, bbb, ccc) scala> val arr2 = Array(1, 2, 3, 4) arr2: Array[Int] = Array(1, 2, 3, 4) scala> arr1 zip arr2 res62: Array[(String, Int)] = Array((aaa,1), (bbb,2), (ccc,3)) scala> arr2 zip arr1 res63: Array[(Int, String)] = Array((1,aaa), (2,bbb), (3,ccc))