Scala:(3)数组

要点:

(1)长度固定使用Array,长度变化的则使用ArrayBuffer.

(2)提供初始值时,不使用new。

(3)用()访问元素

val a= new Array[String](10)//初始化所有疏远为null
val s= Array("Hello","World")//用初始值初始化

val b=ArrayBuffer[Int]()//一个空的数组缓冲
b+=1//在尾端添加元素1
b +=(1,2,3,5)
b ++=Array(8,13,21)//用++=操作符追加任何集合
b.trimEnd(5)//移除最后5个元素

(4)用for(elem <- arr)来遍历元素

(5)用for(elem <- arr if...)...yield .. 来将原数组转型为新数组

val result = for(elem <- a if elem %2 ==0)yield 2*elem

(6)Scala数组和Java数组可以互操作。用ArrayBuffer,使用scala.collection.JavaConversions中的转换函数

(7)多维数组

val matrix=Array.ofDim[Double](3,4)//三行,四列
//访问其中的元素,使用两对圆括号
matrix(row)(column)=42

//创建不规则的数组,每一行的长度各不相同
val triangle = new Array[Array[Int]](10)
for(i <- 0 until triangle.length)
    triangle(i) = new Array[Int](i +1)
时间: 2024-10-20 18:53:07

Scala:(3)数组的相关文章

Scala学习——数组/映射/元组

数组 / 映射 / 元组 一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初始值的数组,无需new关键字 Scala声明数组时,需要带有Array类名,且使用 () 来指明长度或提供初始值序列. 在JVM中,Scala的Array以Java数组的方式实现.如arr在JVM中的类型对应java.lang.String[],charArr对应char[]. 2.变长数组 ArrayBuffer,全称scala.col

快学SCALA(3)--数组相关操作

val a = Array(2, 4, 5, 6) val result = for(elem <- a) yield 2 * elem //result = (4,8, 10, 12) val result1 = for(elem <- a if elem % 2 == 0) yield 2 * elem //result1 = (4,8,12) val result2 = a.filter(_ % 2 == 0).map(2 * _ ) //result = (4,8,12) val re

scala的数组、列表、元组、集、映射

数组: 数组的值可以改变但是数组的名不能改变: eg:     scala> val gg = Array("ssss","ddddd")(数组的定义)    scala>val grre = Array(1,2,3)    scala> grre    res12: Array[Int] = Array(1, 2, 3)    scala> grre = gg    <console>:9: error: reassignmen

Scala中数组的创建及实例化

Scala创建以及实例化的方式: //创建一个长度为3的字符串数组,并逐个赋值,然后打印输出结果 val greetStrings = new Array[String](3) greetStrings(0)="Hello" greetStrings(1)="," greetStrings(2)="world\n" for(i <- 0 to 2){ print(greetStrings(i)) } 注意:Scala中访问数组中某个元素使用

scala 除去数组中第一个负数以外的所有负数

package com.tydic.test /** * 除去数组中第一个负数以外的所有负数 */ object Test2 { def main(args: Array[String]): Unit = { val arr = Array(1, 2, 0, 3, 4, -1, -2, -3 ,0) var flag = 1 var index = 0 arr.map {e => if(flag > 0 ){ if(e >= 0){ index += 1 }else{ flag = -1

Scala字节数组转换为数字

1. 2个字节数组转换为整数 1 def bytes2uint8(_bytes: Array[Byte], _offset: Int): Int = { 2 val b0 = _bytes(_offset) & 0xff 3 return b0 4 } 5 6 def bytes2sint8(_bytes: Array[Byte], _offset: Int): Int = { 7 val b0 = _bytes(_offset) 8 return b0 9 } 2. 4个字节数组转换为整数 1

[原创]Scala学习:数组的基本操作,数组进阶操作,多维数组

1.Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合 2 声明数组变量: 要使用的程序的数组,必须声明一个变量来引用数组,必须指定数组变量可以引用的类型.下面是语法声明数组变量: var z:Array[String] = new Array[String](3) or var z = new Array[String](3) or var z = Array("Zara", &

Scala详解---------数组、元组、映射

一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初始值的数组,无需new关键字 Scala声明数组时,需要带有Array类名,且使用 () 来指明长度或提供初始值序列. 在JVM中,Scala的Array以Java数组的方式实现.如arr在JVM中的类型对应java.lang.String[],charArr对应char[]. 2.变长数组 ArrayBuffer,全称scala.collection.mutab

Scala详解---------数组相关操作

Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合. 取替声明单个变量,如number0, number1, ..., 和number99,声明一个数组变量,如号码和使用numbers[0],numbers[1],...,numbers[99]表示单个变量.本教程介绍了如何声明数组变量,创建数组和使用索引的过程变量数组.数组的第一个元素的索引是数字0和最后一个元素的索引为元素的总数减去1.