package com.jn.scala.hello
/**
* @author jiangning
*/
object Map_Tuple {
def main(args:
Array[ String]){
// 1. immutable.Map的定义,map是不可变的
val map = Map("book" -> 10, "gun" -> 18 ,"ipad" -> 1000)
// 对map进行遍历,v乘以0.9
for(( k, v)
<- map) yield (k ,v *0.9)
// 2.定义mutable的map
val scorces =
scala.collection.mutable. Map( "scala" -> 7,"hadoop" -> 8 ,"Spark" -> 10)
// 3.map中获取值如果获取不到就获取一个默认值
val hadoopScore = scorces. getOrElse("hadoop" , 0)
// 4.map集合中添加一个元素
scorces +=("R" -> 9)
// 5.map集合进行排序
val sortMap =
scala.collection.immutable.SortedMap ("scala" -> 7,"hadoop" -> 8 ,"Spark" -> 10)
// 6.Tuple将类型不同的元素放在一个集合中
val tuple =
(1,2,3.14,"Rocky", "Spark")
// 7.Tuple下标是从1开始,下面获取的值为3.14
val thrid = tuple._3
// 8.Tuple可以返回多个值
val ( first, second, third, fourth, fifth)
= tuple
// 9.Tuple返回多个值,可以有几个值不返回,但是要有占位符,用下划线
val ( f, s,_,_,_)
= tuple
// 10.可以进行分区,如果是大写会放入一个集合
"Marky
Spark". partition(_.isUpper)
// 11.zip将两个对应位置的值合并为一个元素,拉链操作
// 理解为数组symbols中的每一个元素,对应count的对应元素位置,映射为一个map的key和value
val symbols = Array("[", ",","]" )
val count = Array(2,3,5)
val pairs = symbols. zip( count)
for(( x, y)
<- pairs) Console .print (x*y)
}
}