learning scala 数组和容器】的更多相关文章

数组:可变的,可索引的,元素具有相同类型的数据集合 一维数组 scala> val intValueArr = new Array[Int](3)intValueArr: Array[Int] = Array(0, 0, 0) scala> val myStrArr = Array("BigData","hadoop","spark")myStrArr: Array[String] = Array(BigData, hadoop, s…
#scala数组 val A= new Array[T](N) val A = new Array[Int](10) ##变长数组 import scala.collection.mutable.ArrayBuffer val C = new ArrayBuffer[T]() C += e1 C += (e2,e3) C++= Array(e2,e3)  //++= 不要分开 trimEnd(2)  #移除最后2个 C.insert(2,e3) C.remove(3,2) #转换 val D=C…
arrays :+ 5尾部   头部5 +: arrays TODO 声明不可变数组,不能删; 默认情况下,scala中集合的声明全都是不可变的 val arrays: Array[Int] = Array(1, 2, 3, 4) //增加 不可变使用伴生对象添加数 val newArrays1: Array[Int] = arrays :+5 //1,2,3,4,5 // 增加数据到集合的尾部,产生新的集合 val newArrays2: Array[Int] = 6+:arrays //6,…
Scala提供了一种数据结构叫作数组,数组是一种存储了相同类型元素的固定大小顺序集合.数组用于存储数据集合,但将数组视为相同类型变量的集合通常更为有用. 可以声明一个数组变量,例如:numbers,使用numbers[0],numbers[1]和...,numbers[99]来表示单个变量,而不是分别地声明每个变量,例如number0,number1,...等变量. 本教程介绍如何使用索引变量声明数组变量,创建数组和使用数组.数组的第一个元素的索引是数字0,最后一个元素的索引是元素的总数减去1.…
基础内容 1. 数组定义 定长.可变数组的定义;元素添加,删除,排序,求和等常用运算 import scala.collection.mutable.ArrayBuffer import scala.math.BigDecimal.RoundingMode /** * @author xwolf * @date 2017-04-09 18:23 * @since 1.8 */ object Collection { def main(arg:Array[String]): Unit ={ mul…
一.scala数组 数组定义1: var arr = new Array[String](3) String:存储的元素类型 3:存储3个元素 添加元素: arr(1) = "hello" 数组定义2: val arr1 = Array[Int](1,2,3,4,5,6) 改变内容:arr1(1) = 18 添加元素:arr1 += 22 长度不可以改变 二.数组方法 1.map(映射) 映射: 2 4 6 映射关系:f(x) = x*5 对应映射关系:10 20 30 例: scal…
一.Array .Array Buffer 1.Array 在Scala中,Array代表的含义与Java中类似,也是长度不可改变的数组. 此外,由于Scala与Java都是运行在JVM中,双方可以互相调用,因此Scala数组的底层实际上是Java数组.例如字符串数组在底层就是Java的String[], 整数数组在底层就是JaVa的Int[]. 数组初始化后,长度就固定下来了,而且元素全部根据其类型初始化: val a=new Array[Int](10) val a=new Array[St…
这一章节我们再次深入的对照数组与容器. 数组与容器主要集中在三个方面:效率.类型.基础类型. 我们能够从三方面做出对照. 1.效率 这里的下来是指add和get 的速度 以下以add为例: package com.ray.ch13; import java.util.ArrayList; public class Test { public static void main(String[] args) { Integer zero = new Integer(0); ArrayList<Int…
1.Array 2.ArrayBuffer 3.遍历Array和ArrayBuffer 4.数组常见操作 1.  Array Scala中,array代表的含义与java类似,也是长度不可改变的数组.由于scala与java都是运行在jvm中,双方可以相互调用,scala数组的底层实现实际上是java数组. 2.ArrayBuffer Scala中,如果需要长度可变的集合类,可以使用ArrayBuffer.使用前需要导入 scala.collection.mutable.ArrayBuffer.…
Scala 数组和List: import scala.collection.mutable.ArrayBuffer import scala.collection.mutable.Buffer object ArrayLearning { def main (args: Array[String]): Unit = { // useZipUnzip // listOps // arrayOps // ArrayBufferOps } private def useZipUnzip = { //…
String 前文已经说明了字符串的声明方式: var s = "Hello World"; var s: String = "Hello World"; 在 Scala 中,字符串的类型实际上是 Java String(java.lang.String),它本身没有 String 类.我们可以在Scala中使用Java String的所有方法. String对象是不可变对象, 更改String内容的操作实际上是创建了一个新的字符串. scala> var s…
一.数组 1).数组的多种初始化方式 下面总结了初始化数组的多种方式,以及如何对指向数组的引用赋值,使其指向另一个数组对象.值得注意的是:对象数组和普通数组的各种操作基本上都是一样的:要说有什么不同的话就是对象数组默认值为null,而基本数组视本身情况而定. package lkl; import java.util.Arrays; ///下面演示了数组的初始化 //包括对象数组和普通数组 class Base{ private static long counter; private fina…
/********************************************************************** *版权全部 (C)2014, cheng yang. * *文件名:高速排序.cpp 数组实现 *内容摘要:无 *其他说明:无 *当前版本号: V1.0 *作 者:cheng yang *完毕日期: 20140625 * * 版本号 改动时间 改动人 改动内容 ***********************************************…
变量尽量用valvar 是不可变 final 常用的 Int̵ Double̵ Long̵ String没有基本类型.scala 任何对象都继承Any Int Double 继承AnyVal String继承java.lang.String.scal数组java aa[]1.写法scala val a=new Array[String](3)2.用法访问数据用下标a(0) ="abc"3.调用scal调用() 其实是在调用数组的apply()方法 所有a(0) 就是a.apply(0)…
数组的常用方法 java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的. 具有以下功能: 给数组赋值:通过 fill 方法. 对数组排序:通过 sort 方法,按升序. 比较数组:通过 equals 方法比较数组中元素值是否相等. 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作. 具体说明请查看下表: 序号 方法和说明 1 public static int binarySearch(Object[] a, Object key)…
1.定长数组 定长数组:指长度不可变的数组Array. 第一种方式: 先声明一个数组,后初始化该数组: scala> val array = new Array[Double](5) array: Array[Double] = Array(0.0, 0.0, 0.0, 0.0, 0.0) 赋值方式:array(index) = value 第二种方式: scala> val array = Array(1, 2, 3, 4, 5) array: Array[Int] = Array(1, 2…
import Array._ import scala.collection.mutable.Set object DataStructure { def main(args:Array[String]):Unit={ //数组 var z:Array[String] = new Array[String](3); var z1 = new Array[String](3); z(0)="hello"; z1(0)="world"; var z2 = Array(&…
数组操作 初始化固定长度的数组 // 初始化长度为10的数组 val array = new Array[Int](10) // 初始化创建含有hello与Scala的数组 val s = Array("hello","scala") 创建可变的数组(类似java的集合) Scala中创建长度可变的数组,类似与java中的ArrayList一样Scala提供了ArrayBuffer,下面是ArrayBuffer的用法: // 创建集合等同于下面的new ArrayB…
package com import scala.collection.mutable.ArrayBuffer /** * Created by Administrator on 2019/4/8. */ object TestMap { def main(args: Array[String]) { //**定长数组和变长数组************************************************* //数组常用方法 val arr = Array(1, 2, 3, 4…
ArrayBuffer 在Scala中,如果需要类似于Java中的ArrayList这种长度可变的集合类,则可以使用ArrayBuffer. // 如果不想每次都使用全限定名,则可以预先导入ArrayBuffer类 import scala.collection.mutable.ArrayBuffer // 使用ArrayBuffer()的方式可以创建一个空的ArrayBuffer val b = ArrayBuffer[Int]() // 使用+=操作符,可以添加一个元素,或者多个元素 //…
增删改查,要注意的是,Array数组是定长数组,ArrayBuffer数组才是变长数组. 其他集合也存在可变不可变.例如,List,Set,Map 多维数组定义方法与Java类似.…
1 .if satement 与其它语言不同的是,scala if statement 返回的是一个值 scala> val a = if ( 6 > 0 ) 1 else -1a: Int = 1 2. while statement 3. do.. while statement 4 for statement for ( 变量 <-  表达式 ) { 语句块}: scala> for ( i <- 1 to 3 ) println(i)123 scala> for…
scala读文件:   example: scala> import scala.io.Sourceimport scala.io.Source scala> var inputFile = Source.fromFile("text.txt")inputFile: scala.io.BufferedSource = non-empty iterator scala> for ( line <- inputFile.getLines()) println(lin…
scala 写文件功能: scala> import java.io.PrintWriterimport java.io.PrintWriter scala> val outputFile = new PrintWriter("text.txt")outputFile: java.io.PrintWriter = java.io.PrintWriter@213c812a scala> outputFile.println("hello panzidong&q…
控制台输出语句: print println example: scala> print("i=");print(i)i=345scala> println("hello ");println("world")hello world…
控制台输入语句: readInt, readDouble, readByte, readShort, readLong, readChar, readBoolean, readLine example:scala> import io.StdIn._import io.StdIn._ scala> var i=readInt()2i: Int = 2 scala> var f=readFloat()2.2f: Float = 2.2 scala> var b=readBoolean…
scala 变量: val : 声明时,必须被初始化,不能再重新赋值. scala> test = "only1"<console>:11: error: not found: value test test = "only1" ^<console>:12: error: not found: value test val $ires0 = test ^    var :可被多次赋值. scala> var test2 = &qu…
scala 操作符: 算术运算符:  +  - *  / % 关系统运算符: > , < ,= ,!= ,>=,<=, 逻辑运算符: && . || , ! 位运算符:&, |, ^,~,<<,>>,>>>(无符号右移) 赋值运算符: = 优先及由上及下…
1.使用yield和函数式编程转换数组 2.算法案例:移除第一个负数之后的所有负数 1.使用yield和函数式编程转换数组 使用yield进行数组转换 结合if守卫,仅转换需要转换的元素 使用函数式编程转换数组(通常使用下图第一种方式) 2.算法案例:移除第一个负数之后的所有负数 优化算法 保留不需要移除的元素的索引…
package com.example import akka.actor._ import akka.util.Timeout object Tutorial_03_Ask_Pattern extends App { val system = ActorSystem("DonutStoreActorySystem") val donutInfoActor = system.actorOf(Props[DonutInfoActor], name="DonutInfoActor…