scala学习笔记之数组

邮件伪造和SPF 之前看了下邮件伪造觉得挺有意思的,所以看了下邮件伪造的东西,下面简单的总结了一下,如果有不妥的地方还望大佬们提出来。 1. 什么是SPF SPF是 Sender Policy Framework 的缩写,一种以IP地址认证电子邮件发件人身份的技术,是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录。 接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SP... 阅读详情

scala数组角标从0开始,使用(index)访问元素,和java不同,可以创建一个数组缓存

object ArrayDemo extends App {
  //数组的声明
  //  var z:Array[String] = new Array[String](3)
  //  var z = new Array[String](3)
  var array1 = Array(1, 2, 1.5, "abc");
  var array2 = new Array[String](1); //定义数组的另一种方式,角标是从0开始的
  // apply( x: T, xs: T* ): Array[T]创建指定对象 T 的数组
  var array3 = Array.apply(1, 2, 3)
  array2(0) = "hehe" //数组的赋值

  //数组的合并Array.concat
  var concatArray = Array.concat(array2, array2)

  //二维数组->多维数组
  //def ofDim[T]( n1: Int ): Array[T]创建指定长度的数组
  //def ofDim[T]( n1: Int, n2: Int ): Array[Array[T]]创建二维数组
  //def ofDim[T]( n1: Int, n2: Int, n3: Int ): Array[Array[Array[T]]]创建三维数组
  var manyDimensions1 = Array((1, 2, 3), (4, 5, 6))
  var manyDimensions2 = new Array[Array[String]](3)
  var manyDimensions3 = Array.ofDim[String](3, 2)
  manyDimensions2(0) = Array("ee") //赋值
  manyDimensions3(0)(1) = "String" //赋值

  //empty[T]: Array[T]返回长度为 0 的数组
  var emotyArr = Array.empty[String]

  //range( start: Int, end: Int, step: Int ): Array[Int]创建指定区间内的数组,step 为每个元素间的步长
  //range( start: Int, end: Int ): Array[Int]创建指定区间内的数组
  var a1 = Array.range(0, 10)
  var a2 = Array.range(0, 10, 2)

  //变长数组:缓冲数组
  //import scala.collection.mutable.ArrayBuffer
  var bufferArray = new ArrayBuffer[Int](); //()可以省略
  bufferArray += 1 //在末尾添加一个值或多个值      高效的添加
  bufferArray += (1, 2, 3) //在末尾添加一个值或多个值
  bufferArray ++= Array(1, 2, 3) //在末尾添加一个值或多个值,如果是集合,就需要用++=
  bufferArray.trimEnd(3) //移除末尾的3个数
  bufferArray.insert(2, 2) //指定角标位置添加一个或多个数                                  //效率偏低
  bufferArray.insertAll(2, Array(2, 3, 4)) //指定角标位置添加一个集合    //效率偏低
  bufferArray.remove(2) //移除哪个元素
  bufferArray.remove(2, 2) //从第2个角标开始移除2个元素

  //遍历数组
  for (a <- array1) { //直接遍历数组
    println(a)
  }
  for (i <- 0 until array1.length) { //使用下表遍历数组
    println(array1(i))
  }
  for (i <- 0 until (array1.length, 2)) { //从0开始没2个循环一次
    println(array1(i))
  }
  for (i <- (0 until array1.length).reverse) { //倒序遍历
    println(array1(i))
  }
  val iter = array1.iterator; //使用迭代器
  while (iter.hasNext) {
    println(iter.next())
  }

  //数组的转换

  var newArray1 = for (a <- array1 if a != 1) yield (a + "aaa") //方式1,除了值为1的所有元素都加上aaa
  var newArray2 = array1.filter { _ != 1 }.map { _ + "bbb" }    //方式2
  var newArray3 = array1.filter { _ != 1 } map { _ + "bbb" }    //方式3

  //数组的常用算法
  var array4 = Array.apply(1, 5, 6, 4, 5)
  var sum = array4.sum //求和
  var max = array4.max //求最大值
  var min = array4.min //求最小值
  val sortArray = array4.sorted    //排序
  var s1 = array4.mkString("and")                //result  1 and 2 and 3 and 4 and 5
  var s2 = array4.mkString("<", "and", ">")      //result  <1 and 2 and 3 and 4 and 5>

}
多智能体强化学习论文——SEAC(NIPS 2020) 存在的问题&研究动机&研究思路 在稀疏奖励的环境下,多智能体的exploration存在效率不足等问题。 在IAC的基础上尝试加入重要性采样,使得每次更新智能体iii的参数时,不再仅仅使用智能体iii的数据,而是使用所有智能体的数据进行智能体iii数据的更新。 对于原始的IAC算法是on-policy的,而SEAC则是off-poligy的。 创新点 在每个智能体iii的actoriactor_iactori​和criticicritic_icritici​的更新过程中,都加入了重要性 阅读详情

相关推荐

宝塔面板 python管理器2.0安装Mrdoc

自从python管理器从1.9升级2.0后,导致原教程不能使用。 故关于2.0新开教程如下。 关于python管理器2.0 最大的区别在于: python管理器2.0不再需要进入虚拟环境,直接在当前环境进行操作,但是需要指定python路径及pip路径。 1、新建mrdoc工程目录,下载源码: 新建目录【mrdoc】,进入mrdoc目录,并在宝塔ssh或或远程ssh中执行 ,下载源码 git clone https://gitee.com/yang_lite/MrDoc.git .

debj031634的专栏 5992

005-Scala数组操作实战详解

005-Scala数组操作实战详解 Worksheet的使用 交互式命令执行平台 记得每次要保存才会出相应的结果 数组的基本操作                     数组的下标是从0开始和Tuple不同 缓冲数组ArrayBuffer(长度可变) 数组的进阶操作                     多维数组                     常用数组

u013798467的博客 314

auto.js梦幻西游游戏脚本,梦幻西游脚本开发思路

本篇文章给大家谈谈梦幻西游脚本用什么语言写,以及auto.js梦幻西游游戏脚本,希望对各位有所帮助,不要忘了收藏本站喔。

npy199331的博客 1939

Scala多种集合的使用(5)之数组Array(ArrayBuffer)的操作

Scala多种集合之数组Array(ArrayBuffer)的操作

大数据智工厂 840

【3D计算机视觉】从PointNet到PointNet++理论及pytorch代码

从PointNet到PointNet++理论及代码详解1. 点云是什么1.1 三维数据的表现形式1.2 为什么使用点云1.3 点云上以往的相关工作2. PointNet2.1 基于点云的置换不变性2.1.1 由对称函数到PointNet(vanilla)2.1.2 理论证明2.2 基于点云的旋转不变性2.3 网络总体结构2.4 实验结果和网络的鲁棒性2.5 代码解析3. PointNet++3.1...

小执着的博客 8万+

LeRobot X-VLA:首个适用于任意机器人、任意任务的软提示机器人基础模型

X-VLA是一种基于软提示的视觉-语言-动作模型,通过可学习嵌入向量编码不同机器人配置,实现跨平台统一控制。该框架采用两阶段训练:先在29万次多平台任务中学习通用策略,再通过微调少量参数(仅1%)适配新机器人。实验表明,0.9B参数的X-VLA在6个仿真和3个真实平台上表现优异,如LIBERO任务达93%成功率,布料折叠任务100%完成。其核心创新是将硬件差异视为"任务",用软提示引导Transformer处理异构数据,为机器人基础模型提供可扩展方案。

2506_90492529的博客 1241

Scala系列6:Scala中Array,BufferArray,元组,list,set,map等集合使用详解

Scala中集合类的序列有:数组,元组,列表,Set集,Map映射,其中数组,列表,Set,Map又分为可变和不可变两种。下面就此详细展开介绍使用。 0.数组的使用详解 scala中数组的概念是和Java类似,可以用数组来存放一组数据。scala中,有两种数组,一种是定长数组,另一种是变长数组。 0.1 定长数组 定长数组指的是数组的长度是不允许改变的。通过指定长度定义数组,语法格式如下: val/var 变量名 = new Array[元素类型](数组长度) //方式1:通过指定...

涤生大数据 2626

Trae+雪球MCP,化身专业的股票分析师(玩转100个MCP系列第二弹)

大家好呀,我是程序员夏叶,深度AI编程使用者,专注于分享AI编程方面的使用技巧、经验以及前沿资讯,有兴趣的可以关注我的公众号,一起学习,共同进步。第二弹,使用Trae+雪球MCP,获取股票实时行情,分析股票走向等,写代码间隙看看股票价格,研究研究行情,哈哈。真的很不错呀,最关键的是,足够隐蔽,同事以为你在写代码,实际你在浏览股票行情,哈哈,感兴趣的可以试一下哦。说实话,沧州明珠这只股我算是砸手里了,不过还好买的不多,哈哈。

cpp加油站的专栏 518

scala第十一讲:数组

数组是固定的用来储存固定大小元素用的,这点和java是一样的,和python不一样…… 一:数组的定义 var arr:Array[String]=new Array[String](10) 或者 var arr=new Array[String](10) 上面的定义的是一个String类型长度为10的数组 二:赋值 注意,数组的下标是从0开始的 arr(0)="a"  a

美丽的泡沫 402

从零开始学习CANoe(三)—— 系统变量的创建和使用

从零开始学习CANoe(三)—— 系统变量的创建和使用

蚂蚁小兵 1万+

fbx bip互转 测试OK

fbx bip互转

jacke121的专栏 516

Scala中数组Array方法

Array 数组方法和描述 1 def apply( x: T, xs: T* ): Array[T] 创建指定对象 T 的数组, T 的值可以是 Unit, Double, Float, Long, Int, Char, Short, Byte, Boolean。 2 def concat[T]( xss: Array[T]* ): Array[T] 合并数组 3 def copy( src: AnyRef, srcPos: Int, dest: AnyRef, destPos: Int, len.

qq_40078490的博客 554

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Scala学习笔记——字符串与数组

Scala学习笔记——字符串与数组 文章目录Scala学习笔记——字符串与数组一、字符串1、字符串的拼接与格式化2、字符串的常用方法二、数组1、声明数组的语法格式2、数组的创建与遍历3、多维数组的创建与遍历 一、字符串 在 Scala 中,String 是一个不可变的对象,所以该对象不可被修改。 这就意味着你如果修改字符串就会产生一个新的字符串对象。 1、字符串的拼接与格式化 def main(args: Array[String]): Unit = { var str: String = "tyh"

tyh1579152915的博客 931

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Scala学习笔记------数组和集合

Scala 学习笔记2 一. 数组 1.一维数组 与Java中不同的是,Scala中没有数组这一种类型。在Scala中,Array类的功能就与数组类似。 与所有数组一样,Array的长度不可变,里面的数据可以按索引位置访问。 val array1 = new Array[Int](5) array1(0)=1 array1(4/2)=2 array1.foreach(println)//output:1 0 2 0 0 val arr=Array[String]("a","b","c")

smallworldxyl的博客 335

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

[Scala]Scala学习笔记二 数组

1. 定长数组如果你需要一个长度不变的数组,可以使用Scala中的Array.val nums = new Array[Int](10) // 10个整数的数组 所有元素初始化为0 val strs = new Array[String](10) // 10个字符串的数组 所有元素初始化为null val s = Array("Hello", "World") // 长度为2的Array[Stri

SmartSi 1333

scala学习笔记-数组、元组

1:数组 1.1:定长数组 定长数组指的是数组的长度是不允许改变的 数组的元素是可以改变的 语法 // 通过指定长度定义数组 val/var 变量名 = new Array[元素类型](数组长度) // 用元素直接初始化数组 val/var 变量名 = Array(元素1, 元素2, 元素3...) 注意:在scala中,数组的泛型使用[]来指定,使用()来获取元素 示例:...

陈同学 444

Scala学习笔记--第4章 Scala数组

4.1 定长数组 在Scala中,如何定义一个长度不变的数组,可以用Scala中的Array来实现。例如: //定义长度为10Int类型的数组,默认值为0 var nums = new Array[Int](10) //> nums : Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0) // 定义

yunfeng_lee的博客 667

Scala学习笔记4: 数组

定长数组、变长数组、遍历数组、数组缓存、数组转换、常用算法、多维数组

Taerge0110的博客 588

Scala学习笔记:02-Scala的数组与集合

文章目录数组数组声明数组操作集合(Collection)List 列表构造列表列表的基本操作Set 集合基本操作:Map 映射Map的基本操作Tuple 元组Tuple的基本操作Option 选项Option的基本操作Iterator 迭代器Iterator的基本操作 数组 Scala 语言中提供的数组是用来存储固定大小的同类型元素。 数组声明 语法: 声明一个数组可以采用如下两种方式: var arrayName: Array[String] = new Array[String](3); var arr

639

Scala学习笔记08【Scala数组实用操作】

Scala 数组实用操作实战import scala.collextion.mutable.ArrayBufferobject ArrayTest{ def main(args: Array[String]): Unit = { //-----------------------1、Scala数组基本操作------------------------- val nums1 = ne

未来之歌 613

Scala学习笔记--数组

对于Scala来说,数组是一块相当总要的内容,因此掌握是十分重要的。 数组分为两种:定长数组(Array) 变长数组(Arraybuffer) Array: //10个整数的数组,所有元素的初始化为0 val nums = new ArrayString//长度为2的Array[String]--类型是推断出来的 //注:已提供初始值就不需要new了 val s = Arra

snail_gesture的博客 870

Scala学习笔记-数组相关操作

1. 定长数组 如果需要一个长度不变的数组,可以使用scala中的Array。例如   val nums=new Array[Int](10) val s=Array("Hello","world") s(0)="GoodBye"  2. 变长数组:数组缓冲 对于长度需要变化的数组,Java有ArrayList,C++有vector。Scala中数据结构ArrayBuffer

蜗牛乔巴的博客 330

scala学习笔记2 数组

1、在scala中编写长代码时,可以通过{换行},也可以在最后使用+等符号防止程序终止 2、0 until  10      0 until (10,2)两步一跳      0 until (10,2).reverse  两步一跳 相反的方向 3、for ( elem 另一种做法是 a.filter(_%2 ==0).map(2*_) 4、val bsorted=b.sorted

qq1977261418的博客 295

Scala学习笔记七:数组操作Array、ArrayBuffer、数组遍历

1.Array Scala中,Array代表的含义与Java中类似,表示的是长度不可变的数组。由于Scala与Java都是运行在JVM中,双方可以互相调用,因此,Scala数组的底层实际上是Java数组。如字符串数组在底层就是Java的String[],整数数组在底层就是Java的Int[]。 数组初始化后,数组长度就固定下来了,而且数组元素全部根据其类型初始化 val a = new Array[Int](10) val b = new Array[String](10) ...

一壶清茶的专栏 849

Scala入门学习笔记三--数组使用

前言 本篇主要讲Scala的Array、BufferArray、List,更多教程请参考:Scala教程 ##本篇知识点概括 - 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer - 提供初始值时不要使用new,复杂对象数组没有提供初始值时必须提供new - 用()来访问元素 - 用for(elem ##数组1、定长数组定义:

小七 4526

Scala学习笔记02【数组、列表、元组、集合和映射】

1、使用类型参数化数组【Array】Scala使用new实例化对象或类实例。 当在Scala里实例化对象,可以使用值和类型把它参数化:parameterize。 参数化的意思是在你创建实例的时候”设置”它。例如,实例化一个新的java.math.BigInteger并使用值”12345”参数化:val big = new java.math.BigInteger("12345") 一个完整实例:

未来之歌 5891
上一篇: scala学习笔记之函数
下一篇: scala学习笔记-Map
陈sir2896
博客等级 码龄12年 10粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值