1、Map(映射)是一种可迭代的键值对(key/value)结构。所有的值都可以通过键来获取。Map 中的键都是唯一的。
2、与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素。
object CollectionTest {
def main(args: Array[String]) {
mapTest
//tupleTest
}
//map集合
def mapTest(){
//1、不可变map集合
val x = Map("one" -> 1, "two" -> 2, "three" -> 3)
println(x.keys)
println(x.values)
println(x("two"))
//2、遍历Map的各个元素
//通过for循环访问Map的各个元素的值
for(s <- x)println(s._1)
//通过Map的foreach来访问Map的各个元素的值
x.foreach(println)
//3、Map 合并
//可以使用 ++ 运算符或 Map.++() 方法来连接两个 Map,Map 合并时会移除重复的 key
val colors1 = Map("red" -> "#FF0000",
"azure" -> "#F0FFFF",
"peru" -> "#CD853F")
val colors2 = Map("blue" -> "#0033FF",
"yellow" -> "#FFFF00",
"red" -> "#FF0000")
// ++ 作为运算符
var colors = colors1 ++ colors2
println( "colors1 ++ colors2 : " + colors )
// ++ 作为方法
colors = colors1.++(colors2)
println( "colors1.++(colors2) : " + colors )
//4、可变map集合
val m = scala.collection.mutable.Map("one" -> 1, "two" -> 2, "three" -> 3)
//赋新值
m("one") = 65
println(m("one"))
}
//元组
def tupleTest(){
//定义元组
var t=(1, 3.14, "Fred")
//输出元组
println(t._1,t._2,t._3)
//迭代元组
//你可以使用 Tuple.productIterator() 方法来迭代输出元组的所有元素:
var s=new Tuple3(1,2,3)
s.productIterator.foreach(i=>println(i))
//元组转为字符串
//可以使用 Tuple.toString() 方法将元组的所有元素组合成一个字符串
val y = new Tuple3(1, "hello", Console)
println("连接后的字符串为: " + y.toString() )
//元素交换
//可以使用 Tuple.swap 方法来交换元组的元素
val x = new Tuple2(1, "www.baidu.com")
println("交换后的元组: " + x.swap )
}
}