大数据学习25:Scala常用集合、样本类

本文深入探讨Scala中的模式匹配,包括其基本语法、如何应用于不同数据结构如数组、列表的匹配,以及模式匹配中的变量和类型的匹配。通过实例,展示了模式匹配在Scala编程中的灵活性和强大功能。

一、可变集合、不可变集合
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

二、列表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三、序列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、Set:不重复元素的集合,默认是:HashSet

五、模式匹配:就相当于switch … case 语句

 /* var sign = 0
     var ch1 = '-'
     ch1 match {
       case '+' =>sign = 1
       case '+' =>sign = -1
       case _ => sign = 0
     }
     println(sign)*/

    //Scala的守卫,匹配某种类型的所有值
    //2.匹配所有的数字
    /*var ch2 = '6'
    var digit : Int = -1
    ch2 match {
      case '+' =>println("这是一个加号")
      case '-' =>println("这是一个减号")
      case _ if  Character.isDigit(ch2) => digit = Character.digit(ch2,10)  //匹配所有的数字,如果ch2是一个数字,付给digit
      case _ =>println("其他")
    }
    println(digit)*/

    //模式匹配重的变量

    /*var mystr = "Hello World"

    //3.取出某个字符
    mystr(7) match {
      case  '+' =>println("这是一个加号")
      case  '-' =>println("这是一个减号")
      case ch => println("这个字符是" + ch)//case 语句中可以使用变量,ch相当于是一个常量
    }*/
    //4.匹配类型,相当于instance of

    /*
        var v4:Any = 100 //Any 表示任意的类型,相当于Java中的Object ,最终v4 是一个整数
        v4 match {
          case x:Int =>println("这是一个整数")
          case s:String =>println("这是一个字符串")
        }
    */

    //5.匹配数组和列表
    /*var myArray = Array(1,2,3)
    myArray match {
      case Array(0) => println("数组中只有一个零")
      case Array(x,y) => println("数组包含两个元素")
      case Array(x,y,a) =>println("数组中包含三个元素")
      case Array(x,_*) =>println("这个数组包含多个元素")
    }*/

    //6.列表中包含多个元素
    var myList = List(1,2,3)
    myList match {
      case List(0) =>println("列表中只有一个零")

      case List(x,y,i) =>println("列表中有三个元素")

      case List(x,_*) => println("列表中有多个元素")
    }

六、样本类:case class,支持模式匹配,就相当于支持switch … case 语句 相当于 instanceof
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值