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

网站建设中的html网站页面设计图片素材

网站建设中的html,网站页面设计图片素材,阿里云 网站根目录,微网站欣赏简介: 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/483558.html

相关文章:

  • 【数据库】MySQL InnoDB Cluster 高可用架构部署(MGR 3节点)
  • 网站关键词选取网站开发使用软件有哪些
  • 网站建设 鼠标定制化网站开发公司
  • WebUI自动化测试:POM设计模式全解析
  • tauri 应用相关文件夹
  • 建设网站哪家便宜南昌网站排名
  • AI赋能,重塑未来招聘:深度解析易路AI人岗匹配解决方案
  • 四川网站建设的公司哪家好苏州网站建设熊掌
  • QT6中Dial、Key Sequence Edit、LCD Number 功能及用法详解
  • 为什么要创建网站公司网站建设管理
  • Tomcat核心架构与生产部署指南
  • 启闭机闸门的网站建设wp做图网站
  • 一个网站项目的价格表wordpress主题Qinmei
  • 虎扑的网站是用什么技术做的江苏免费建站
  • 做网站前景怎样国家企业年审营业执照官网
  • 开封市城乡建设局网站宁德公司做网站
  • mysql网站数据库深圳双区建设
  • 论述网站建设整个流程网站开发完整的解决方案
  • Web渗透之身份认证与访问控制缺陷(越权(水平垂直),访问控制(没有验证),脆弱验证(Cookie,JWT,Session等))
  • CoRL-2025 | SocialNav-SUB:用于社交机器人导航场景理解的视觉语言模型基准测试
  • 做优化网站是什么意思设计网络品牌营销方案思路
  • 单网页网站网站 制作公司
  • c++20|第k大-快速选择|nth_element
  • 小杰深度学习(sixteen)——视觉-经典神经网络——MobileNetV2
  • asp.net企业网站设计广州一建筑外墙脚手架坍塌
  • 自动化测试脚本环境搭建
  • VSCode通过SSH连接到Ubuntu虚拟机失败“找不到ssh安装”问题解决
  • 古镇营销型网站建设代做淘宝客网站
  • 网站开发设计学做婴儿衣服网站好
  • 苏州市工业园区规划建设局网站俄语网站