Scala元组和映射

来源:互联网 发布:python 量化 开发环境 编辑:程序博客网 时间:2024/05/17 02:36

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.mutableimport 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.mutableimport 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);  }}
原创粉丝点击