Scala坑三(数组相关操作)

原创 2015年11月18日 11:14:16

1.摘要

固定长度:Array;边长:ArrayBuffer

提供初始值时不要使用new

用()访问元素

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

用for(elem <- arr  if ...)yeiid...来讲原来数组转为新数组

Scala数组和Java数组互操作,用Arraybuffer,使用Scala.collention.JavaConversioons中的转换函数

2.定长数组

val nums = new Array[Int](10) 10个元素,初始都为0

var s = Array("hello","world") 已经提供了初始,不用new

  s(0) = "haha"//使用()访问数组

Array("haha","world")

3.变长数组:数组缓冲

ArrayBuffer

val b  = ArrayBuffer[Int]()

b += 1    ArrayBuffer(1);

b += (1,2,3,4) ArrayBuffer(1,1,2,3,4)

        b ++= (5,6,7)    使用++=操作符追加任何集合   ArrayBuffer(1,1,2,3,4,5,6,7)

b.trimEnd(5)   移除最后5个元素 ArrayBuffer(1,1,2)

b.insert(2,6)在2处插入6 ArrayBuffer(1,1,6)

b.inser(2,5,6) 在2处插入任意多数 ArrayBuffer(1,1,5,6,6)

b.remove(2)   ArrayBuffer(1,1,6,6)

b.remove(2,2),在2处移除2个元素ArrayBuffer(1,1)

b.toArray 把数组缓冲转换为数组Array

b.toBuffer 把数组a转换成数组缓冲

4.遍历数组和数组缓冲

for(i <- 0 until a.lenth)

倒序 for(i <- (0 until a.lenth).reverse)

5.数组转换

用for推导式

for(...)yieid

用filter和map

a.filter(...).map(...)

6.常用算法

求和/最大/最小 ; Array(1,2,3,4).sum/max/min

排序 val b = Array(1,2,3,4)     b.sorted(_ < _)

显示内容 b.mkString("and")    "1 and 2 and 3 and 4"

toString 

6.多维数组

用foDim

val a = Array.ofDim[Double](3,4) 3行 4列

访问a(row) (column)

7.与JAVA互操作



版权声明:本文为博主原创文章,未经博主允许不得转载。

Scala数组操作

Scala数组操作: 1.定长数组 长度不变的数组的声明: //长度为10的整数数组,所有元素初始化为0 val numArr = new Array[Int](10) //长度为10的...
  • caiandyong
  • caiandyong
  • 2016年07月22日 10:30
  • 14705

Scala 自学笔记

1、声明指和变量 val answer = 8 * 5 + 2; //常量 var counter = 0; //变量 //在必要的时候 ,可以指定类型 val greeting:String = ...
  • escaflone
  • escaflone
  • 2015年02月04日 16:54
  • 3710

Scala:Array(集合、序列)

数组是一种可变的、可索引的数据集合。在Scala中用Array[T]的新式来表示Java中的数组形式 T[]。 val numbers = Array(1, 2, 3, 4) //声明一个数组对象 ...
  • bdmh
  • bdmh
  • 2015年12月01日 17:37
  • 22448

使用Scala如何删除Array,ArrayBuffer中的元素

一、Array与ArrayBuffer简介         Array与ArrayBuffer都是集合,可以存储任何类型的对象,不同的是Array是不可变的,而ArrayBuffer是可变的。 二...
  • Veechange
  • Veechange
  • 2016年12月17日 21:08
  • 3882

Scala数组操作

数组要点 若长度固定则使用Array,若长度可能有变化则使用ArrayBuffer;提供初始值时不要使用new;用()来访问元素;用for(elem 例子: import scala.coll...
  • shijiebei2009
  • shijiebei2009
  • 2014年08月16日 16:33
  • 28478

Scala入门到精通——第三节 Array、List

本节主要内容 数组操作实战 列表List操作实战 数组操作实战1 定长数组//定义一个长度为10的数值数组 scala> val numberArray=new Array[Int](10) numb...
  • lovehuangjiaju
  • lovehuangjiaju
  • 2015年07月20日 09:05
  • 27437

Scala中for循环逆序遍历数组

Scala中for循环遍历的逆序遍历
  • qiujing688
  • qiujing688
  • 2017年12月22日 17:27
  • 85

大数据学习之Scala中数组(Array)与循环控制for联合使用学习(4)

相信大家在开发当中数组这个集合用到的频率还是相当多的,因此有必要好好学习它。 下面,就跟随我的脚步来了解和学习使用Scala中的数组。 数组定义: var 数组名:Array[数据类...
  • Poison_H
  • Poison_H
  • 2016年01月04日 15:48
  • 4749

java与scala集合相互转换

参考scala官网:    http://www.scala-lang.org/api/current/index.html#scala.collection.JavaConverters$ 可以得...
  • ainidong2005
  • ainidong2005
  • 2016年11月10日 22:12
  • 5076

Scala多维数组、Java数组与Scala数组的隐式转换

多维数组:数组的元素,还是数组,数组套数组,就是多维数组 构造指定行与列的二维数组:Array.ofDim方法 val multiDimArr1 = Array.ofDim[Double](3...
  • qq_39532946
  • qq_39532946
  • 2017年08月31日 15:06
  • 429
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Scala坑三(数组相关操作)
举报原因:
原因补充:

(最多只允许输入30个字)