当前位置: 首页 > news >正文

网站建设及维护业务服务合同佛山seo整站优化

网站建设及维护业务服务合同,佛山seo整站优化,杨凌做网站的,成为网站有哪些网址?简介: Scala 是一种多范式编程语言,结合了面向对象编程和函数式编程的特性。它运行在 Java 虚拟机上,并且可以与 Java 代码无缝互操作。我主要记录一些我之前看过这本书的记录等。详细说一下Scala 中的一些基本数据结构,…

简介:        

Scala 是一种多范式编程语言,结合了面向对象编程和函数式编程的特性。它运行在 Java 虚拟机上,并且可以与 Java 代码无缝互操作。我主要记录一些我之前看过这本书的记录等。详细说一下Scala 中的一些基本数据结构,包括数组、列表、元组、集合和映射。

1. 数组(Array)

数组是 Scala 中最基本的数据结构之一,用于存储相同类型的元素。Scala 的数组是可变的,意味着修改数组中的元素。

创建数组

通过多种方式创建数组:

val greetStrings = new Array[String](3)
greetStrings.update(0, "hello")
greetStrings.update(1, ",")
greetStrings.update(2, "world!!\n")

这里我们创建了一个长度为 3 的字符串数组,并使用 update 方法为数组赋值。Scala 中的数组索引从 0 开始。

访问数组元素

apply 方法来访问数组中的元素:

for (i <- 0 to 2) {print(greetStrings.apply(i))
}

简洁方式创建和初始化数组:

val greetS1 = Array("hello", ",", "world!!")
for (i <- 0.to(2)) {print(greetS1.apply(i))
}

数组的不可变性

        虽然数组本身是可变的,但数组的长度是不可变的。一旦创建了一个数组,就不能改变它的大小。

2. 列表(List)

列表是 Scala 中另一种常用的数据结构,与数组不同,列表是不可变的。这意味着一旦创建了一个列表,就不能修改它的内容。

创建列表

使用 List 对象创建一个列表:

val s1 = List(1, 2)
val s2 = List(3, 4)

列表的拼接

 ::: 操作符来拼接两个列表:

val s3 = s1 ::: s2
println(s3)  // 输出: List(1, 2, 3, 4)

在列表前添加元素

使用 :: 操作符在列表的前面添加一个元素:

val s4 = 1 :: s3
println(s4)  // 输出: List(1, 1, 2, 3, 4)

3. 元组(Tuple)

元组是 Scala 中用于存储不同类型元素的数据结构。与列表不同,元组是不可变的,并且可以存储不同类型的元素。

创建元组

使用圆括号来创建一个元组:

val pari1 = (1, "22")

访问元组元素

使用 ._1._2 等方法来访问元组中的元素:

println(pari1._1)  // 输出: 1
println(pari1._2)  // 输出: 22

4. 集合(Set)

集合是 Scala 中用于存储唯一元素的数据结构。Scala 提供了可变和不可变两种版本的集合。

创建可变集合

使用 mutable.Set 来创建一个可变集合:

import scala.collection.mutable
val movieSet = mutable.Set("Li", "Wu")

添加元素

使用 += 操作符向可变集合中添加元素:

movieSet += "love"
println(movieSet)  // 输出: Set(Li, Wu, love)

不可变集合

Scala 默认的集合是不可变的,无需引入任何包即可使用:

val immutableSet = Set("apple", "banana")

5. 映射(Map)

映射是 Scala 中用于存储键值对的数据结构。Scala 提供了可变和不可变两种版本的映射。

创建可变映射

使用 mutable.Map 来创建一个可变映射:

import scala.collection.mutable
val tmap = mutable.Map[Int, String]()
tmap += (1 -> "guangzhou")
tmap += (2 -> "beijing")
tmap += (3 -> "shenzheng")
println(tmap(3))  // 输出: shenzheng

创建不可变映射

Scala 默认的映射是不可变的,你无需引入任何包即可使用:

val tiMap = Map(1 -> "hebei", 2 -> "chengde", 3 -> "shijiazhuang", 4 -> "beijing")
println(s"tiMap = ${tiMap}")  // 输出: tiMap = Map(1 -> hebei, 2 -> chengde, 3 -> shijiazhuang, 4 -> beijing)

以上就是我对这块知识点的总结,这是基础中的基础了。

IDEA里头的整体代码

自己拿着跑一跑吧

package ScalaBianchengimport java.util.Properties/*** Scala*/
object Scala01_1RuMen {def main(args: Array[String]): Unit = {val prop = new Properties()val num1 = Array("qwe", "qe", "eqe")val num2 = Array.apply("qwe", "qe", "eqe")/*** 用类型参数化数组 ARRAY* 数组:用户相同类型的对象的可变数组*/val greetStrings = new Array[String](3)greetStrings.update(0, "hello")greetStrings.update(1, ",")greetStrings.update(2, "world!!\n")for (i <- 0 to 2) {print(greetStrings.apply(i))}val greetS1 = Array("hello", ",", "world!!")for (i <- 0.to(2)) {print(greetS1.apply(i))}/*** List 列表 不可变*/val s1 = List(1, 2)val s2 = List(3, 4)val s3 = s1 ::: s2 // :::是list的一个方法,用来拼接println(s3)// :: 在前面添加一个元素val s4 = 1 :: s3println(s4)/*** 元组 不可变,但能存不同的元素,最多22个**/var pari1 = (1, "22")println(pari1._1)println(pari1._2)/*** 集合set* 分为可变集合和不可变集合,可变的引入包* += 定义在可变集合里面,*/import scala.collection.mutableval movieSet = mutable.Set("Li", "Wu")movieSet += "love"println(movieSet)movieSet.+=("0819")println(movieSet)/*** map集合,Scala 也提供了 Map 的可变 和不可变的版本,用类继承关系来区分* 创建,初始化并使用一个可变的映射*/import scala.collection.mutableval tmap = mutable.Map[Int, String]()tmap += (1 -> "guangzhou")tmap += (2 -> "beijing")tmap += (3 -> "shenzheng")println(tmap(3))//创建一个不可变映射,无需引入,因为默认的映射就是不可变的val tiMap = (1 -> "hebei", 2 -> "chengde", 3 -> "shijiazhuang", 4 -> "beijing")println(s"tiMap = ${tiMap}")}}

运行结果:

参考

《Scala编程-第三版》

http://www.dtcms.com/a/408071.html

相关文章:

  • 做网站的软件高中 通用技术虚拟主机管理怎么做网站
  • 新增支持优化
  • 第7篇 c#推理自己训练的yolov5 onnx模型文件
  • 新网站不被收录的原因网页大图素材
  • 工程建设云网站深圳企业企业网站建设
  • 私募基金网站开发流程巫山做网站哪家强
  • 2、深入理解 C++ 引用、指针、内联函数与效率对比 —— 实战讲解与代码分析
  • 现在哪个招聘网站做的比较好敬请期待还是说尽情期待
  • 广东网站设计与建设上海第五届中国国际进口博览会直播
  • Java 浅复制与深复制
  • 网站建设app大学生网页设计期末作业
  • 网站怎么做图片栏目html网页设计过程
  • 专注网站建站重庆企业公司网站建设
  • 【LLIE专题】GT-Mean Loss:一种低照度图像增强的损失函数
  • Transformer-位置编码(Position Embedding)
  • 【MySQL】内连接优化order by+limit 以及添加索引再次改进
  • 吉林省高等级公路建设局 网站成品网站源码在线看
  • 邢台网站建设制作口碑好网站建设公司哪家好
  • 什么网站做微信公众账号wordpress php 文件
  • 热可可怎么做视频网站营销网页
  • 找不到实验方案怎么办?
  • 找人做的网站推广被坑石家庄网站建设就找企行家
  • TRL的安装
  • 企业网站的好处公关公司和广告公司的区别
  • 求百度关键词搜索网站软文发布软件
  • wordpress 网站标题设置房山营销型网站制作开发
  • 【C#学习】GC停世界
  • 目前哪些企业需要做网站建设的呢兰州电商平台网站建设
  • 济南网站建设(力选聚搜网络)网页制作免费网站制作
  • 手机网站什么意思关于我们网站设计