第32讲:List的基本操作实战与基于模式匹配的List排序算法实现
发表于:2023-02-02 作者:安全数据网编辑
编辑最后更新 2023年02月02日,package com.dt.scala.datasetobject HelloList { def main(args: Array[String]): Unit = { //定义List,
package com.dt.scala.datasetobject HelloList { def main(args: Array[String]): Unit = { //定义List,直接使用applay方法 val bigData = List("Spark","Hadoop") val data = List(1,2,3) //使用::定义列表 val bigData_core = "Spark"::"Hadoop"::Nil //:: Nil不能省略,"Spark"::"Hadoop" 这个语法是错误的 //Nil是空列表,并且::是右元素的方法,例如"Hadoop"::Nil :: 是Nil的方法 //等同于 val bigData_core2 = Nil.::("Hadoop") val data_Int = 1::2::3::Nil // 两个列表合并,使用:::方法 val data_union = data ::: data_Int //判断列表是否为空 data.isEmpty //取列表的头部 data.head //对于List来说,第一个元素称之为head,其余的所有元素成为tail data.tail.head //提前List中的元素 val List(a,b) = bigData //a="Spark" , b="Hadoop" println("a = "+a+" b = "+b) // 如果List中有多个元素,可以使用如下方式提取 val first::second::rest = data //rest代表剩余的List,返回的类型是List println("first:"+first+" ==== "+"second:"+second+" ==== "+"rest:"+rest) //first:1 ==== second:2 ==== rest:List(3) //使用模式匹配对List进行排序操作 val shuffleData = List(9,3,2,10,3,34,1) def compute(data : Int,dataSet : List[Int]) : List[Int] = dataSet match { case List() => List(data) //如果dataSet为空,那么返回List(data) case head :: tail => { //如果dataSet不为空 if (data <= head) // data和第一个元素比较如果<=head则放到List的头部 data :: dataSet else head :: compute(data,tail) //否则嵌套调用compute } } println(compute(10, shuffleData)) def sortList(data : List[Int]) : List[Int] = data match { case List() => List() case head :: tail => compute(head,sortList(tail)) } println(sortList(shuffleData)) }}
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
换电脑登录游戏服务器需要什么
原神国际服手机服务器可以切换吗
软件开发资产管理产品部
信息网络技术 城市战场环境
网络安全四进活动总结
百度云保存服务器异常
电信服务器集采标准
什么是服务器连接错误
万国觉醒如何迁移服务器
ps5重建数据库
qq里面服务器是什么东西
想买个服务器
萌娘百科无法链接服务器
奉贤区网络技术转让技术指导
数据库井号键
药房数据库管理系统设计
简阳网络安全宣传
战地1老是进不去服务器
国家安全网络安全的内涵
数据库管理系统属于什么类型
铁四院软件开发
人脸识别闸机需要服务器吗
提高网络安全性的措施
网络安全行业对联550
网络安全警报到期
64核服务器处理器
网络技术大神
网络安全威胁监测与处置办法
为什么服务器时间总是会慢几分钟
3d游戏服务器