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的Array、BufferArray、List,更多教程请参考:Scala教程 ##本篇知识点概括 - 若长度固定则使用Array,若长度可能有 变化则使用Array...

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

本节主要内容 数组操作实战 列表List操作实战 数组操作实战1 定长数组//定义一个长度为10的数值数组 scala> val numberArray=new Array[Int](10) numb...

scala map/list/array/的常用内置遍历操作总结

scala map/list/array/的常用内置遍历操作总结。Scala 是面向函数的,所以在集合函数里,它很轻易地提供了非常丰富遍历操作,数组变换操作。这对于我们数据挖掘,爬虫,文本处理等都非常...

Scala:Array(集合、序列)

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

Scala 强大的集合数据操作示例

Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为...
  • pzw_0612
  • pzw_0612
  • 2015年05月23日 18:03
  • 57879

Spark-SQL之DataFrame操作大全

Spark SQL中的DataFrame类似于一张关系型数据表。在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现。可以参考,Scala提供的DataFra...
  • dabokele
  • dabokele
  • 2016年10月12日 23:31
  • 33587

Scala数组操作

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

Scala Array操作

0.重点 长度固定则使用Array,若长度有可能变化则使用ArrayBuffer 提供初始值时不要使用new 用()来访问元素 用for(elem ...

Scala数组操作

Scala数组操作: 1.定长数组 长度不变的数组的声明: //长度为10的整数数组,所有元素初始化为0 val numArr = new Array[Int](10) //长度为10的...

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

Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合。数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合。 取替声明单个变量,如number0, ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Scala坑三(数组相关操作)
举报原因:
原因补充:

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