Scala 不可变数组Array
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的更多相关文章
- scala (4) 可变数组和不可变数组
在scala中数组分为不可变长数组(在immutable包下)和可变长数组(在mutable包下) 不可变长数组指的是长度不可变,但是数组中角标对应的元素的值是可变的 可变数组指的是长度和数组中角标对 ...
- scala的多种集合的使用(5)之数组Array(ArrayBuffer)的操作
1.创建和更新数组的不同方式 1)定义一个数组的初始大小和类型,随后填充值. scala> val array = new Array[String](3) array: Array[Strin ...
- iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)
// // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...
- C语言struct中的长度可变数组(Flexible array member)
C_struct中的长度可变数组(Flexible array member) Flexible array member is a feature introduced in the C99 sta ...
- Scala 学习之路(四)—— 数组Array
一.定长数组 在Scala中,如果你需要一个长度不变的数组,可以使用Array.但需要注意以下两点: 在Scala中使用(index)而不是[index]来访问数组中的元素,因为访问元素,对于Scal ...
- Scala 系列(四)—— 数组 Array
一.定长数组 在 Scala 中,如果你需要一个长度不变的数组,可以使用 Array.但需要注意以下两点: 在 Scala 中使用 (index) 而不是 [index] 来访问数组中的元素,因为访问 ...
- [原创]Scala学习:数组的基本操作,数组进阶操作,多维数组
1.Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合 2 声明数组变量: 要使用的程序的数组 ...
- Scala详解---------数组、元组、映射
一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初始值的数组,无需new关键字 Scala声明数组时,需要带有Arr ...
- 元组Tuple、数组Array、映射Map
一.元组Tuple 元组Tuple是不同类型的值的聚集,元组的值将单个的值包含在圆括号中来构成,元组可以包含一个不同类型的元素 如 val riple = (100, "Scala" ...
- Scala具体解释---------数组、元组、映射
一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初始值的数组,无需newkeyword Scala声明数组时.须要带 ...
随机推荐
- win32 - wsprintfW的使用
文档:将格式化的数据写入指定的缓冲区.根据格式字符串中相应的格式说明,将转换任何参数并将其复制到输出缓冲区.该函数在其写入的字符后附加一个终止空字符,但返回值的字符计数中不包含终止空字符. 例子: # ...
- kafka学习笔记01-kafka简介和架构介绍
一.kafka介绍 kafka 最开始是 Linkedin 用来处理海量的日志信息,后来 linkedin 于 2010 年贡献给了 Apache 基金会并成为了顶级项目. 后来开发 kafka 的一 ...
- Xposed 原理
Xposed 使用替换app_process的方式(这是个二进制文件) xposed 的 app_main2.cpp中做了xposed的初始化 /** Initialize Xposed (unles ...
- 以下总结了Java一些面试前准备和技术参考题,希望对你有所帮助
以下真实模拟JAVA面试场景: 感谢您参加我们的面试: 以下是我们总结一些面试前准备和技术参考题,希望对你有所帮助. 首先,你需要先准备下工作相关的自我介绍,包括以下内容: 几年 Java 开发经验, ...
- Taurus.MVC WebMVC 入门开发教程5:表单提交与数据验证
前言: 在本篇 Taurus.MVC WebMVC 入门开发教程的第五篇文章中,我们将学习如何处理表单提交和进行数据验证. 这是 Web 开发中非常重要的一部分,因为它涉及到用户输入数据的处理和有效性 ...
- 【Azure 微服务】Azure Service Fabric 因证书问题而使得 Node 一直处于 Down 状态
问题描述 Service Fabric 集群更新证书后,重启Node后就变为Down的状态,反复 Restart 结果反复Down 问题分析 根据Service Fabric的文档表示,修改证书时一定 ...
- 如何扩展Spark Catalyst,抓取spark sql 语句,通过listenerBus发送sql event以及编写自定义的Spark SQL引擎
1.Spark Catalyst扩展点 Spark catalyst的扩展点在SPARK-18127中被引入,Spark用户可以在SQL处理的各个阶段扩展自定义实现,非常强大高效,是SparkSQL的 ...
- Sliver C2通关渗透攻击红队内网域靶场2.0
准备 2012 server 第一台机器开机后,要在C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain手动运行下 s ...
- MySQL之过滤条件
[一]筛选过滤条件 [1]查询语句 -- 查询当前表中的指定字段的数据 select id,name from emp where id > 3; [2]创建数据表 create databas ...
- JVM(一)-内存结构
我们都知道,我们写的Java程序需要先经过编译,生成了.class文件(字节码文件).然而,计算机并不能直接解释.class文件里面的内容,这时候就需要一个能加载.解释.class文件并且能按.cla ...