21_Scala集合_可变数组ArrayBuffer

2024-05-06 14:36

本文主要是介绍21_Scala集合_可变数组ArrayBuffer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 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):接受一个对象参数,表示要删除的元素。如果列表中存在与指定对象相等的元素,则删除第一个匹配的元素。

这篇关于21_Scala集合_可变数组ArrayBuffer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964612

相关文章

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

hdu 1166 敌兵布阵(树状数组 or 线段树)

题意是求一个线段的和,在线段上可以进行加减的修改。 树状数组的模板题。 代码: #include <stdio.h>#include <string.h>const int maxn = 50000 + 1;int c[maxn];int n;int lowbit(int x){return x & -x;}void add(int x, int num){while

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,

C 语言基础之数组

文章目录 什么是数组数组变量的声明多维数组 什么是数组 数组,顾名思义,就是一组数。 假如班上有 30 个同学,让你编程统计每个人的分数,求最高分、最低分、平均分等。如果不知道数组,你只能这样写代码: int ZhangSan_score = 95;int LiSi_score = 90;......int LiuDong_score = 100;int Zhou

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

Java基础回顾系列-第六天-Java集合

Java基础回顾系列-第六天-Java集合 集合概述数组的弊端集合框架的优点Java集合关系图集合框架体系图java.util.Collection接口 List集合java.util.List接口java.util.ArrayListjava.util.LinkedListjava.util.Vector Set集合java.util.Set接口java.util.HashSetjava