• 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 有什么问题可以给我留言噢~
  • 相关阅读:
    旺旺狗
    写在父亲离世周年
    老家老院
    玉米粒自传
    记念父亲
    26年前来蒙阴
    玉米粒自传
    pywin32安装
    linux中源码安装mysql
    在Linux上搭建禅道
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10327108.html
Copyright © 2020-2023  润新知