1 package chapter07
2
3 object Test01_ImmutableArray {
4 def main(args: Array[String]): Unit = {
5 // 1. 创建数组
6 val arr: Array[Int] = new Array[Int](5)
7 // 另一种创建方式
8 val arr2 = Array(12, 37, 42, 58, 97)
9 println(arr)
10
11 // 2. 访问元素
12 println(arr(0))
13 println(arr(1))
14 println(arr(4))
15 // println(arr(5))
16
17 arr(0) = 12
18 arr(4) = 57
19 println(arr(0))
20 println(arr(1))
21 println(arr(4))
22
23 println("========================")
24
25 // 3. 数组的遍历
26 // 1) 普通for循环
27 for (i <- 0 until arr.length){
28 println(arr(i))
29 }
30
31 for (i <- arr.indices) println(arr(i))
32
33 println("---------------------")
34
35 // 2) 直接遍历所有元素,增强for循环
36 for (elem <- arr2) println(elem)
37
38 println("---------------------")
39
40 // 3) 迭代器
41 val iter = arr2.iterator
42
43 while (iter.hasNext)
44 println(iter.next())
45
46 println("---------------------")
47
48 // 4) 调用foreach方法 参数是一个函数(Lamda表达式)
49 arr2.foreach( (elem: Int) => println(elem) )
50
51 arr.foreach( println )
52
53 println(arr2.mkString("--"))
54
55 println("========================")
56 // 4. 添加元素
57 val newArr = arr2.:+(73)
58 println(arr2.mkString("--"))
59 println(newArr.mkString("--"))
60
61 val newArr2 = newArr.+:(30)
62 println(newArr2.mkString("--"))
63
64 val newArr3 = newArr2 :+ 15
65 val newArr4 = 19 +: 29 +: newArr3 :+ 26 :+ 73
66 println(newArr4.mkString(", "))
67 }
68 }
:+(73)和+:(30) 冒号+ 加号在后 意思是把数据加在后面 +冒号 加号在前意思是把数据加在前面

Scala 不可变数组Array的更多相关文章

  1. scala (4) 可变数组和不可变数组

    在scala中数组分为不可变长数组(在immutable包下)和可变长数组(在mutable包下) 不可变长数组指的是长度不可变,但是数组中角标对应的元素的值是可变的 可变数组指的是长度和数组中角标对 ...

  2. scala的多种集合的使用(5)之数组Array(ArrayBuffer)的操作

    1.创建和更新数组的不同方式 1)定义一个数组的初始大小和类型,随后填充值. scala> val array = new Array[String](3) array: Array[Strin ...

  3. iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)

    // // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...

  4. C语言struct中的长度可变数组(Flexible array member)

    C_struct中的长度可变数组(Flexible array member) Flexible array member is a feature introduced in the C99 sta ...

  5. Scala 学习之路(四)—— 数组Array

    一.定长数组 在Scala中,如果你需要一个长度不变的数组,可以使用Array.但需要注意以下两点: 在Scala中使用(index)而不是[index]来访问数组中的元素,因为访问元素,对于Scal ...

  6. Scala 系列(四)—— 数组 Array

    一.定长数组 在 Scala 中,如果你需要一个长度不变的数组,可以使用 Array.但需要注意以下两点: 在 Scala 中使用 (index) 而不是 [index] 来访问数组中的元素,因为访问 ...

  7. [原创]Scala学习:数组的基本操作,数组进阶操作,多维数组

    1.Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合 2 声明数组变量: 要使用的程序的数组 ...

  8. Scala详解---------数组、元组、映射

    一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初始值的数组,无需new关键字 Scala声明数组时,需要带有Arr ...

  9. 元组Tuple、数组Array、映射Map

    一.元组Tuple 元组Tuple是不同类型的值的聚集,元组的值将单个的值包含在圆括号中来构成,元组可以包含一个不同类型的元素 如 val riple = (100, "Scala" ...

  10. Scala具体解释---------数组、元组、映射

    一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初始值的数组,无需newkeyword Scala声明数组时.须要带 ...

随机推荐

  1. win32 - 使用VerQueryValue获得应用程序的名称

    比如: Google Chrome: 类似于任务管理器中显示名字,见下图 那么我们就需要使用VerQueryValue, 从指定的版本信息资源中检索指定的版本信息.若要检索适当的资源,在调用VerQu ...

  2. 【Android 逆向】【攻防世界】RememberOther

    1. apk安装到手机,提示输入用户名注册码 2. jadx 打开apk public boolean checkSN(String userName, String sn) { try { if ( ...

  3. h5页面在微信打开,ios底部存在返回横条的问题

    我的问题比较简单,一个处理链接的页面,二次跳转进入真正的页面,导致ios出现返回横条,点击后退回到了处理链接页面.因为这个后退不会重新加载,导致一直处在处理链接的这个空页面. 所以我用replace代 ...

  4. docker安装mysql服务

    拉取镜像 docker pull mysql:5.7.3 运行镜像 docker run -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.32 # -e MYSQL_ ...

  5. 用BootstrapBlazor组件制作新增Customer Order的页面

    1.在Shared目录下新建OrderCreateView.razor文件: 2.在OrderCreateView.razor里用最简单的表格准备好布局 3.准备好BootstrapBlazor的组件 ...

  6. 【Azure Function App】本地运行的Function发布到Azure上无法运行的错误分析

    问题描述 Azure Function部署后未执行,查看日志发现错误信息: 2023-12-19T11:12:27.145 [Verbose] Host configuration applied.2 ...

  7. 【Azure Redis 缓存】Azure Redis 遇见的连接不上问题和数据丢失的情况解答

    问题描述 PHP应用再连接Azure Redis服务时,出现Connection Timed out.当通过升级提高Azure Redis的性能时候,发现之前的数据丢失了. 问题解答 当Redis服务 ...

  8. 【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题

    问题描述 将 JS项目打包为静态文件后,通过 FTP 上传到 App Service For Linux 的 /home/site/wwwroot文件夹中.但打开App Service URL 后依旧 ...

  9. Linux性能监控(二)-top

    top命令可以用来监控服务器CPU.内存的运行情况,是Linux一个经常使用到的命令. 基本用法 第一行 显示当前系统运行信息,系统当前时间是23:23:21,运行了315days,当前有2个用户登录 ...

  10. 真实开发中-redis在项目中的应用场景

    一.需求描述 从自己当前负责参与开发的一个项目中来看,redis主要的应用场景有如下几个,第一个是保存用户信息,这个需要频繁的获取.比如 在打开某一个页面进行查询时,就先需要获取用户信息,看用户是否具 ...