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. virtualapp 应用启动源码分析

    应用启动源码分析 在HomeActvity中的OnCreate方法会调用initLaunchpad private void initLaunchpad() { mLauncherView.setHa ...

  2. 【Android逆向】破解看雪 test1.apk

    1. 获取apk,并安装至手机 apk 获取地址: https://www.kanxue.com/work-task_read-800624.htm adb install -t test1.apk ...

  3. [攻防世界][Reverse]xxxorrr

    将目标文件拖入IDA 反汇编main函数 __int64 __fastcall main(int a1, char **a2, char **a3) { int i; // [rsp+Ch] [rbp ...

  4. RK3588开发笔记(二):基于方案商提供sdk搭建引入mpp和sdk的宿主机交叉编译Qt5.12.10环境

    前言   上一篇项目已经构建好了Qt,板子接入mipi屏幕也跑起来了,Qt也能正常运行了,现在需要接入定制开发的sdk,sdk中使用了硬解码等资源涉及到bsp的mpp,所以下一步就是引入mpp和sdk ...

  5. day04---系统重要文件

    系统重要的文件 /etc的重要文件 1./etc/sysconfig/network-scripts/ifcfg-eth0 [root@localhost ~]# cat /etc/sysconfig ...

  6. 【App Service for Windows】为 App Service 配置自定义 Tomcat 环境

    问题描述 当在App Service for Windows环境中所列出的Tomcat Version 没有所需要的情况下,如何实现自定义Tomcat 环境呢? 问题解答 第一步: 从官网下载要使用的 ...

  7. Android的BLE广播数据包解析---Android系列, 蓝牙技术(含BLE)

    一.引言 理解和分析这个数据包结构(这里面也涉及广播间隔时间的设置,设备广播数据间隔设置长了,会影响设备被发现的效率:设置短时,又响应功耗). 我们所说的BLE设备,其实是有区分有两种角色 Centr ...

  8. Java实现书城项目(增删)

    书城项目 登录 dao 接口:UserDao Users login(String username,String password); 实现:UserDaoImpl QueryRunner quer ...

  9. centos python3虚拟环境

    为什么需要虚拟环境? 在使用 Python 语言时,通过 pip(pip3)来安装第三方包,但是由于 pip 的特性,系统中只能安装每个包的一个版本.但是在实际项目开发中,不同项目可能需要第三方包的不 ...

  10. Failed to collect dependencies at com.oneconnect......-Intellij-IDEA-使用maven打包采坑记录

    一.问题由来 由于刚开始使用Intellij-IDEA,使用不是很熟练,因此使用过程中出现各种各样的问题.最近开发过程中,准备使用IDEA打包项目发布到测试服务器,报错信息如下: Failed to ...