scala 简要之数组与映射

数组

Scala中的Array是定长数组,ArrayBuffer是变长数组,对应于Java中的ArrayList,C++中的Vector,可以用相同的代码处理这两种数据结构,用for (i<-区间 )来遍历,用 for(...) yield 创建一个类型与原始集合相同的新集合,还可以通过if 在进行条件过滤。Scala中的内建函数sum,sorted,max,min,quicksork提供了常用算法。

由于Scala数组是用java数组实现的,可以在java和scala之间传递,只需引入scala.collection.JavaConversions里的隐式转换方法。

映射

scala中,映射是对偶的集合,可以看做将键映射到值的函数,区别在于函数一般用于计算,而映射只做查询。用=可以直接增加映射,也可用+=添加多个关系,用for((k,v)<-映射) 来遍历映射,使用scala.collection.JavaConversions.mapAsScalaMap将Java中的map转换为scala中的映射。

scala中,元组是不同类型的值的聚集,()构成元组,用方法1,2...访问其组元,而通常使用模式匹配来获取元组的组元。使用元组的原因之一是把多个值绑在一起,以便它们能够被一起处理,通常用zip方法开完成,使用toMap方法将对偶的集合转换成映射

时间: 2024-11-06 17:50:23

scala 简要之数组与映射的相关文章

Scala基础篇-数组和映射

定长数组 val n = new Array[Int](10) val s = new Array[String](10) val a = new Array("hello", "world") 变长数组 import scala.collection.mutable.ArrayBuffer val b = new ArrayBuffer[Int]() b += 1 b += (2,3) b ++= Array(4,5) 经常我们需要一个数组Array,但是初期不知

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中操作数组.Java和C++程序员通常会选用数组或近似的结构(比如数组列表或向量)来收集一组元素.在Scala中,我们的选择更多,不过现在我们先假定不关心其他选择,而只是想马上开始用数组.本篇的要点包括: 1. 若长度固定则使用Array,若长度可能有变化则使用ArrayBuffer 2. 提供初始值时不要使用new 3. 用()来访问元素 4. 用for (elem<-arr)来遍历元素 5. 用for (elem<-arr if…)…yie

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

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

Javascript中的Array(数组) 、{}(映射) 与JSON解析

做网页总会使用javascript,使用javascript总会使用JSON.最近用到一下,就写写. 下面是总结: 1.将javascript中的Array和{}转化为json字符串可以使用json2.js,源码地址https://github.com/douglascrockford/JSON-js. 2.将json字符串转为javascript对象,可以使用javascript自带的eval函数. 3.javascript中可以使用typeof查看变量的类型. 4.要访问json字段,必须是

scala学习3 数组相关操作映射和元组

一.定长数组 如果需要一个长度不变的数组,可以使用Scala中的Array. val nums = new Array[int](10) val s = Array("Hello","world") 二.变长数组:数组缓冲 1. val b = ArrayBuffer[int]() 2.追加元素 b +=(1,2,3,4,5) 3.追加任何集合 b ++= Array(8,13,21) 4.移除最后5个元素 b.trimEnd(5) 5.插入元素 b.insert(

python科学计算_numpy_线性代数/掩码数组/内存映射数组

1. 线性代数 numpy对于多维数组的运算在默认情况下并不使用矩阵运算,进行矩阵运算可以通过matrix对象或者矩阵函数来进行: matrix对象由matrix类创建,其四则运算都默认采用矩阵运算,和matlab十>分相似: a = np.matrix([[1,2,3],[4,5,6],[7,8,9]]) matrix([[1, 2, 3],[4, 5, 6],[7, 8, 9]]) a * a matrix([[ 30, 36, 42],[ 66, 81, 96],[102, 126, 15

Scala系列:数组

定长数组: val nums = new Array[Int](10) 变长数组: val b = new ArrayBuffer[Int] 或 ArrayBuffer[Int]() b.+=1 b.+= (2, 3, 4) b.++= Array(5, 6, 7, 8) b.trimEnd(3) b.insert(2, 3) b.insert(2, 3, 4, 5) b.remove(2) b.remove(2, 4) b.toArray 遍历 for (i <- 0 until b.leng

scala简要:注解

注解可以在程序的各个条目中添加信息,是插入到代码中以便有工具可以对他们进行处理的标签.可以对是scala类使用java注解,也可以使用scala特有的注解. 在scala中,可为类,方法,字段,局部变量和参数添加注解.Java注解的参数类型只能是:1)数值型变量2)字符串3)类变量4)java枚举5)其他注解6)上述类型的数组. 如果要实现一个新的Java注解,则需要用Java来编写该注解类.scala用@clonable和@remote来标记可被克隆的和远程的对象.@varargs注解可以从J