
Scala_3.函数式编程
发布日期:2021-05-07 00:19:21
浏览次数:25
分类:原创文章
本文共 2808 字,大约阅读时间需要 9 分钟。
Scala_3.函数式编程
package com.liusimport com.sun.xml.internal.bind.v2.TODO/** * Scala函数式编程 */object functionProgram { def arrayOperation(): Unit = { //定义数组 var z:Array[String] = new Array[String](3);// var z = new Array[String](3); //遍历数组 var myList = Array(1.9,2.9,3.9,4.9,5.9) //输出所有数组元素 for(x <- myList){ println(x) } //计算所有元素的sum值 var total = 0.0 for( t <- 0 to (myList.length-1)){ total += myList(t) } println(s"${myList} sum is ${total}") //查找数组中最大的元素 // TODO: var maxValue = 0.0 for(i <- myList){ maxValue = if(maxValue>i) maxValue else i } println(s"${myList}最大值为:${maxValue}") } /** * List操作 */ def ListOperation(): Unit = { //定义字符串List val site:List[String] = List("xxx商城","Google","Baidu"); //定义整型list val nums:List[Int] = List(1,2,3,4); //空列表 val empty:List[Nothing] = List(); //二维列表 val dim:List[List[Int]] = List(List(1,0,0),List(0,1,0),List(0,0,1)) // val siteVal = "xxx博客" :: ("Google" :: ("Baidu" :: Nil)) val numsVal = Nil println(s"第一个网站是:${siteVal.head}") println(s"最后一个网站是:${siteVal.tail}") println(s"查看列表siteVal是否为空:${siteVal.isEmpty}") println(s"查看numsVal是否为空:${numsVal.isEmpty}") println(Nil) for(t <- siteVal){ println(s"${t}") } } /** * Set操作 */ def SetOperation(): Unit = { val s:Set[String] = Set("xxx商城","Google","Baidu") val nums:Set[Int] =Set() println(s"第一个网站是:${s.head}") println(s"最后一个网站是:${s.tail}") println(s"查看列表site是否为空:${s.isEmpty}") println(s"查看nums是否为空:${nums.isEmpty}") } /** * Map操作 */ def MapOperation(): Unit = { //定义Map val colors = Map( "red"->"#FF0000", "azure"->"#F0FFFF", "peru"->"#CD853F" ) val nums:Map[Int,Int] = Map() //操作 println(s"colors中的键值:${colors.keys}") println(s"colors中的值为:${colors.values}") println(s"检测colors是否为空:${colors.isEmpty}") println(s"检测nums是否为空:${nums.isEmpty}") } /** * 元组操作 */ def TupleOperation(): Unit = { //定义元组 val t = (4,3,2,1) val sum = t._1+t._2+t._3+t._4 //调用元组元素 println(s"元素之和为:${sum}") } /** * option操作 option有值返回Some[T] 没有值返回None */ def optionOperation(): Unit = { //定义Map val site = Map("lius"->"lius的博客") //取值 val value1:Option[String] = site.get("lius") val value2:Option[String] = site.get("Baidu") //打印结果 println(s"value1:${value1},value2:${value2}") //模实匹配 println(s"value1:${show(value1)},value2:${show(value2)}") } def show(x:Option[String])= x match { case Some(s) =>s case None => "?" } def main(args: Array[String]): Unit = { //1.Array数组// arrayOperation() //2.List列表// ListOperation() //3.Set集合// SetOperation() //4.Map映射// MapOperation() //5.元组// TupleOperation() //6.Option optionOperation(); }}
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年03月26日 12时42分12秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
px4调试bug--添加mavlink_log_info信息
2019-03-05
redis替换字符串命令
2019-03-05
redis向数组中添加值并查看数组长度
2019-03-05
python3基础梳理11python中模块和包
2019-03-05
JS编写一个函数,计算三个不同数字的大小,按从小到大顺序打印(穷举法)
2019-03-05
mybatis中like的注意
2019-03-05
sqlplus的基本使用
2019-03-05
oracle删除表重复数据
2019-03-05
Oracle删除主表数据
2019-03-05
js中两种定时器,setTimeout和setInterval实现验证码发送
2019-03-05
Oracle常用SQL
2019-03-05
技术美术面试问题整理
2019-03-05
Redis分布式锁原理
2019-03-05
【备份】求极限笔记
2019-03-05
C++学习记录 四、基于多态的企业职工系统
2019-03-05
C++学习记录 五、C++提高编程(2)
2019-03-05
面试问道nginx优化怎么做的
2019-03-05
自学linux毕业shell面试题
2019-03-05
4 Java 访问控制符号的范围
2019-03-05