Scala元组和映射

1、map映射

import scala.collection.mutable._//如果要定义一个map为可变的需要导入mutable包
    object helloworld {
      def main(args: Array[String]) {

        val map1 = scala.collection.immutable.Map[Int,String](100->"chenrong",200->"xiaofang");//定义map为不可变的
        println(map1(100));
//        map1(100)="yu";
        println(map1(100));


        val map = HashMap[Int,String](1->"cr");//由于导入mutable包这里默认为可变的
        //这里的map的key和value的类型可以定义也可以不用定义
        map(1)="dr";
        println(map(1));

  }
}


2、定义map

//定义map的方式
        val map2 = Map[Int,Int]();

        val map3 = new mutable.HashMap[Int,Int]();

3、对map的操作

import scala.collection.mutable
import scala.collection.mutable._//如果要定义一个map为可变的需要导入mutable包
    object helloworld {
      def main(args: Array[String]) {

        val map1 = scala.collection.immutable.Map[Int,String](100->"chenrong",200->"xiaofang");//定义map为不可变的
        println(map1(100));
//        map1(100)="yu";
        println(map1(100));


        val map = HashMap[Int,String](1->"cr");//由于导入mutable包这里默认为可变的
        //这里的map的key和value的类型可以定义也可以不用定义
        map(1)="dr";
        println(map(1));

        //定义map的方式
        val map2 = Map[Int,Int]();

        val map3 = new mutable.HashMap[Int,Int]();

        //给map添加成员
        map +=(66->"hhhh",88->"yy");
        map.+=(22->"hh",44->"kkk");

        println(map);
        //删除map成员,通过key来删除成员
        map.-=(22);
        println(map);

        //通过连接可以将不可变的map改变成可变的map
        val mutMap = map1 +(10->"uuu");
        println(map1);
        println(mutMap);//通过连接的方式将map1转变成为可变的新的map集合

        //+ - 产生的是一个新的映射,原来的映射不会改变
        //+= -= 是在原来的map基础上进行修改,不会产生新的集合

        val subMap = map1 - 10;
        println(subMap);
        println(map1);



  }
}

3、map映射的迭代

import scala.collection.mutable
import scala.collection.mutable._//如果要定义一个map为可变的需要导入mutable包
import scala.collection.Map
    object helloworld {
      def main(args: Array[String]) {

     //map 的迭代
        val map = Map[Int,String](1->"aa",2->"bb");
        for((k,v)<-map) println(k+"===="+v);
        println(map.keySet);//获取所有的key集合,为一个set集合
        println(map.values);//获取所有的values集合
        /*1====aa
          2====bb
          Set(1, 2)
          MapLike.DefaultValuesIterable(aa, bb)*/
  }
}

4、元组


    object helloworld {
      def main(args: Array[String]) {

        //定义一个元组
        val t = (1,"tom",2);
        println(t);
        //访问元组的元
        //注意元组的元的下标从1开始而不是从0开始
        println(t._1);
        println(t._2);

        //直接取出元组的分量
        val (a,b,c) =t;
        println(a+"==="+b+"==="+c);



  }
}
欢迎关注我的公众号:小秋的博客 CSDN博客:https://blog.csdn.net/xiaoqiu_cr github:https://github.com/crr121 联系邮箱:rongchen633@gmail.com 有什么问题可以给我留言噢~
原文地址:https://www.cnblogs.com/flyingcr/p/10327108.html