水善利万物而不争,处众人之所恶,故几于道
1. 集合创建
2. 集合遍历
3. 获取Map中的value
1. 创建可变Map集合
2. 添加元素
3. 删除元素
4. 修改Map中的元素
1. 元组的创建
2. 元组的访问
3. 用元组创建Map
方式一:
val map: Map[String, Int] = Map("a" -> 1, "b" -> 2, "c" -> 3)
这种方式是通过调用 “a” 的 -> 方法,创建一个对偶元组
方式二:
val map: Map[String, Int] = Map(("a", 1), ("b", 2), ("c", 3))
这种方式是直接用元组创建
for (elem <- map) {
println(elem)
}
//--------------------------
map.foreach(println)
//--------------------------
for(key <- map.keySet){
println(key +"----"+ map.get(key))
}
说明:Map集合有两个获取key的方法,但是返回值不一样
val keyset: Set[String] = map.keySet
val keysIterable: Iterable[String] = map.keys
println(map.get("a")) // Some(1)
println(map.get("d")) // None
println(map.get("a").get) // 1
println(map.get("d").getOrElse(666)) // 获取键为d的值,如果获取不到,返回666
println(map.getOrElse("a",666)) //获取键为a的值,如果获取不到返回666
val map: mutable.Map[String, Int] = mutable.Map("a" -> 1, "b" -> 2, "c" -> 3)
map.put("d",4)
map.remove("a")
map.update("b",222)
map("c") = 333
val tuple: (String, String, Int) = ("1001", "jingjing", 18)
println(tuple._2)
访问元组中的第2个元素
println(tuple.productElement(1))
通过索引访问元组中的数据
val iterator: Iterator[Any] = tuple.productIterator
for (elem <- iterator) {
println(elem)
}
通过迭代器访问数据
扩展:Map中的键值对其实就是元组,只不过元组的个数为2,称为对偶元组
val map = Map("a"->1, "b"->2, "c"->3)
val map1: Map[String, Int] = Map(("a", 1), ("b", 2), ("c", 3))