21_Scala集合_可变数组ArrayBuffer

embedded/2024/12/22 14:27:06/

文章目录

  • ArrayBuffer
  • 1.创建可变数组ArrayBuffer
  • 2.增加数据
  • 3.删除数据
  • 4.修改数据
  • 5.查询数据
  • Appendix

ArrayBuffer

ArrayBuffer可变数组

–感觉优点类似于Java的ArrayList

1.创建可变数组ArrayBuffer

–请注意下面的mutable

import scala.collection.mutable.ArrayBuffer //mutableval array = new ArrayBuffer[Int]()val arr = ArrayBuffer(222, 333, 444)

2.增加数据

支持单条增或批量增

    //    增array.append(199, 200, 999)//    批量追加array.appendAll(arr)println(array) //ArrayBuffer(199, 200, 999, 222, 333, 444)//    插入数据    x位置插入yarray.insert(0, -999) //头插println(array) //ArrayBuffer(-999, 199, 200, 999, 222, 333, 444)

3.删除数据

//删除x位置的元素开始,的y条数据
println(array)
array.remove(0,2)   //删除x = 0 开始 的两条数据
println("========================")
println(array)
/*** ArrayBuffer(999, 199, 200, 999, 222, 333, 444)* ========================* ArrayBuffer(200, 999, 222, 333, 444)*/

4.修改数据

//改
//修改数据    x位置修改为y
array.update(0, 999) //ArrayBuffer(999, 999, 222, 333, 444)
println(array)

5.查询数据

–同不可变数组Array

println(array(0)) //999

在这里插入图片描述

Appendix

Java中的remove操作和ArrayBuffer操作不同

  1. remove(int index):接受一个整数参数,表示要删除的元素的索引位置。
  2. remove(Object o):接受一个对象参数,表示要删除的元素。如果列表中存在与指定对象相等的元素,则删除第一个匹配的元素。

http://www.ppmy.cn/embedded/35782.html

相关文章

PHP定时任务框架taskPHP3.0学习记录7宝塔面板手动可以执行自动无法执行问题排查及解决方案(sh脚本、删除超过特定天数的日志文件、kill -9)

PHP定时任务框架taskPHP3.0学习记录 PHP定时任务框架taskPHP3.0学习记录1(TaskPHP、执行任务类的实操代码实例)PHP定时任务框架taskPHP3.0学习记录2(环境要求、配置Redis、crontab执行时间语法、命令操作以及Screen全屏窗口管理器&#xff0…

IOS自动化—将WDA打包ipa批量安装驱动

前言 CSDN: ios自动化-Xcode、WebDriverAgent环境部署 ios获取原生系统应用的包 如果Mac电脑没有配置好Xcode相关环境,可以参考以上文章。 必要条件 Mac电脑,OS版本在12.4及以上(低于这个版本无法安装Xcode14,装不了Xcode14就…

智能AI摄像头项目

项目概要 硬件说明:易百纳rv1126 38板,易百纳GC2053摄像头,拓展版(自绘),屏幕驱动板(自绘),3.1inch mipi屏,FT5316触摸屏 开发环境 硬件分析 开发环境及sd…

单例模式的几种实现方式

单例模式(Singleton Pattern)是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点。这种模式在需要全局状态或者希望整个应用程序中某个对象只有一个实例时非常有用。 单例模式的关键特点包括: …

c#和python的flask接口的交互

一、灰度图像的传输 c#端的传输 //读入文件夹中的图像 Mat img2 new Mat(file, ImreadModes.AnyColor); //将图像的数据转换成和相机相同的buffer数据 byte[] image_buffer new byte[img2.Width * img2.Height]; int cn img2.Channels(); //通道数 if (cn 1){//将图像的数…

【GameFi】链游 | Seraph | 区块链上的动作角色扮演 NFT 装备收集和掠夺游戏

官网下载 新赛季公告:https://www.seraph.game/#/news/357 开始时间:2024年4月19日 11:00 (UTC8) discard会有人发送一些激活码,或者有一些活动,只需要填表格关注账号,参与了就会将激活码发到你的邮箱 …

C++协程项目之协程库学习与实践(协程函数学习、线程切换实践)

网上协程实现原理大概有这么几种&#xff1a;调库、汇编、原语级别&#xff08;可能会破坏原本语义&#xff09;。我们今天简单学习和实践的是一种利用linux下库函数实现的协程。 首先来看这样一段代码&#xff1a; #include <iostream> #include <ucontext.h> #…

three.js实现三维爆炸效果

主要是split函数 <template><div class"app"><div class"btns"><button click"split">{{ isSplit ? "组合" : "分解" }}</button></div><div ref"canvesRef" class&quo…