scala中Map和Tuple

/**
  * Created by root
  * Description : Tuple and Map
  */
object MapTest {

  def main(args: Array[String]): Unit = {

    // 元组:Tuple,就是由()包起来,和数据库中一条记录概念类似
    val t1 = (1,2)
    println(t1)
    println(t1._1) // 获取tuple第一个元素
    println(t1._2) // 获取tuple第二个元素

    val t2 = (1,"xiaoming","男",23,"高新区")
    println(t2)

    val a = List(1,2,3,4)
    // Tuple举列:求List中a的长度,元素求和,元素的平方和
    // 设计成一个tuple(长度, 元素求和, 元素平方和)
    def sumSq(in:List[Int]):(Int,Int,Int) = in.foldLeft((0,0,0))((t,v) => (t._1+1,t._2+v,t._3+v*v))
    println(sumSq(a))

    // Map<K,V>
    val map1 = Map(1 -> "david", 3 -> "lisa")
    println(map1(1))  // 根据key获取value
    println(map1(3))  // 根据key获取value
    println(map1.contains(1)) // 判断Map中包含某个元素
    println(map1.keys) // 获取map中所有的key
    println(map1.values) // 获取map中所有的values
    map1 + (2 -> "xiaoming") // 向map中添加一个元素
    map1 - 3    // 向map中删除一个元素
    map1 ++ List(4 -> "xiaohuang",5 -> "xiaoliu")  // 向map添加多个元素
    map1 -- List(1,2)  // 向map删除多个元素

  }

}

 

posted @ 2017-12-06 19:27  麻雀虽小五脏俱全  阅读(2642)  评论(0编辑  收藏  举报