Scala 可变数组ArrayBuffer
1 package chapter07
2
3 import scala.collection.mutable
4 import scala.collection.mutable.ArrayBuffer
5
6 object Test02_ArrayBuffer {
7 def main(args: Array[String]): Unit = {
8 // 1. 创建可变数组
9 val arr1: ArrayBuffer[Int] = new ArrayBuffer[Int]()
10 val arr2 = ArrayBuffer(23, 57, 92)
11
12 println(arr1)
13 println(arr2)
14
15 // 2. 访问元素
16 // println(arr1(0)) // error
17 println(arr2(1))
18 arr2(1) = 39
19 println(arr2(1))
20
21 println("======================")
22 // 3. 添加元素
23 val newArr1 = arr1 :+ 15 //new一个新的数组进行赋值 不指向同一块地址
24 println(arr1)
25 println(newArr1)
26 println(arr1 == newArr1)
27 //可变数组ArrayBuffer 向前追加+=: 向后追加+=
28 val newArr2 = arr1 += 19 //引用 对于可变数组 不推荐把操作后的数值的引用赋值给新的数组
29 println(arr1)
30 println(newArr2)
31 println(arr1 == newArr2)
32 newArr2 += 13
33 println(arr1)
34
35 77 +=: arr1
36 println(arr1)
37 println(newArr2)
38 //append
39 arr1.append(36)
40 arr1.prepend(11, 76)
41 arr1.insert(1, 13, 59) //(位置,*多个数值)
42 println(arr1)
43
44 arr1.insertAll(2, newArr1)
45 arr1.prependAll(newArr2)
46
47 println(arr1)
48
49 // 4. 删除元素 remove
50 arr1.remove(3)
51 println(arr1)
52
53 arr1.remove(0, 10)
54 println(arr1)
55
56 arr1 -= 13
57 println(arr1)
58
59 // 5. 可变数组转换为不可变数组
60 val arr: ArrayBuffer[Int] = ArrayBuffer(23, 56, 98)
61 val newArr: Array[Int] = arr.toArray
62 println(newArr.mkString(", "))
63 println(arr)
64
65 // 6. 不可变数组转换为可变数组
66 val buffer: mutable.Buffer[Int] = newArr.toBuffer
67 println(buffer)
68 println(newArr)
69 }
70 }
Scala 可变数组ArrayBuffer的更多相关文章
- scala (4) 可变数组和不可变数组
在scala中数组分为不可变长数组(在immutable包下)和可变长数组(在mutable包下) 不可变长数组指的是长度不可变,但是数组中角标对应的元素的值是可变的 可变数组指的是长度和数组中角标对 ...
- Scala学习——数组/映射/元组
[<快学Scala>笔记] 数组 / 映射 / 元组 一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初 ...
- 《快学Scala》——数组、映射和元组
数组 定长数组:在Scala中可以用Array,初始化一个定长数组.例如: val nums = new Array[Int](10) //10个整数的数组,所有元素初始化为0 val a = new ...
- Scala学习之路 (四)Scala的数组、映射、元组、集合
一.数组 1.定长数组和变长数组 import scala.collection.mutable.ArrayBuffer object TestScala { def main(args: Array ...
- Scala 可变长参数
Scala 允许你指明函数的最后一个参数可以是重复的.这可以允许客户向函数传入可变长度参数列表.想要标注一个重复参数,在参数的类型之后放一个星号. 例如:定义一个可变参数的函数param def pa ...
- Java可变参数 & Python可变参数 & Scala可变参数
Java 可变参数的特点: (1).只能出现在参数列表的最后: (2)....位于变量类型和变量名之间,前后有无空格都可以: (3).调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体 ...
- scala 可变集合与内存清理的关系
留坑待填 使用scala.collection.mutable._期间,发现了当程序运行内存开销较多时,使用系统工具进行内存清理,然后程序报出了变量找不到.内存无法访问.数组访问越界,堆栈溢出等多种错 ...
- 可变数组NSMutableArray
//创建一个空的可变数组 NSMutableArray *array = [NSMutableArray array]; //向数组里面添加对象 [array addObject:@"< ...
- Objective - C NSArray不可变数组和NSMutableArray可变数组
OC中存储数据最常用 的两个容器就是数组和字典,而作为最常用的,应该了解这所有的特点,及用法. OC中的数组是一个容量,有序的管理了一系列元素,并且存放在数组里的元素,必须是对象类型. 不可变数组,见 ...
- NSArray与NSMutableArray 数组与可变数组
1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组.2.NSArray的创建NSArray * array = [[NSArray alloc]initWith ...
随机推荐
- APISIX介绍
APISIX是什么 Apache APISIX是Apache软件基金会下的云原生API网关,它兼具动态.实时.高性能等特点,提供了负载均衡.动态上游.灰度发布(金丝雀发布).服务熔断.身份认证.可观测 ...
- 内存管理(二)之别小看了Tagged-Pointer关键时刻起到大作用
本文主要研究Tagged Pointer技术,针对该技术需要解决的问题.以及在实际应用中的价值做一些简单的探讨. 如果你想要更进一步,去挖掘Tagged Pointer是如何实现的,可以参考Frida ...
- 服务网关ZUUL过滤器
过滤器两个功能: 1.其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础: 2.过滤器功能则负责对请求的处理过程进行预干预,是实现请求校验.服务聚合等功能的基础. 有4类 ...
- Spring Boot+Thymeleaf+MyBatis--推荐一个后端练手极佳的商城项目
项目整体架构 newbee-mall ├── src/main/java └── ltd.newbee.mall ├── common // 存放相关的常量配置及枚举类 ├── config // 存 ...
- magic book
magic book.md body { font-family: var(--vscode-markdown-font-family, -apple-system, BlinkMacSystemFo ...
- Java main()方法的使用说明
1 package com.bytezreo.singleton; 2 3 /** 4 * 5 * @Description main()方法的使用说明 6 * @author Bytezero·zh ...
- CPN Tools 系统建模分析工具(持续更新)
一直想把之前看有关CPN的文献资料做一个综合性的整理,所以最近花了些时间,把乌克兰敖德萨国家电信科学院交通运输部学院的讲义做一个翻译.本课程的翻译不具授权(如有侵权请及时联系,做删除处理) 本课程的标 ...
- RabbitMq 在centos中开机自启动
1.在/etc/init.d 目录下新建一个 rabbitmq [root@localhost init.d]# vi rabbitmq 文件内容 #!/bin/bash #chkconfig:234 ...
- setting.json 20210825 更新
vue代码格式化思路 { "pasteImage.path": "${currentFileNameWithoutExt}_Images/", "up ...
- Dreamweaver基础教程:系列介绍
目录 前言 Dreamweaver 软件介绍 软件安装 学习支持 相关资料 前言 我一直对前端的一些技术比较感兴趣,之前有用过GitHub上的开源项目部署了自己的导航网站猿导航,但并没有系统的去深入学 ...