您的位置:首页 > 其它

scala学习之路:5.懒加载以及数组的操作

2016-03-10 07:44 344 查看
import scala.io.Source

object dt06_Lazy {
def main(args: Array[String]): Unit = {

// 懒加载用的时候才创建
lazy val file = Source.fromFile("/Users/ycf/Desktop/traslate_h.txt")
println("Scala")

//    知道这里使用才会 调用 Source.fromFile的功能检验 路径是否正确
for(line <- file.getLines()) println(line)

}


新建worksheet



import scala.io.Source

object ScalaAction {
println("Welcome to the Scala worksheet")       //> Welcome to the Scala worksheet

// 懒加载
lazy val file = Source.fromFile("/Users/ycf/Desktop/traslate.txt")
//> file: => scala.io.BufferedSource
println("Scala")                              //> Scala

file                                          //> res0: scala.io.BufferedSource = non-empty iterator
// 	到用的时候 才拿出来
for(line <- file.getLines()) println(line)    //> "welcome"="点击屏幕继续...";
//|
//| //首页
//| "tabBarHome"="首页";
//| "citySele
}


数组的操作

import scala.collection.mutable.ArrayBuffer

object dt07ArrayOps {
def main(args: Array[String]): Unit = {
val nums = new Array[Int](10) //> nums  : Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
val a = new Array[String](10) //> a  : Array[String] = Array(null, null, null, null, null, null, null, null, n
//| ull, null)

val s = Array("Hello", "world") //> s  : Array[String] = Array(Hello, world)
s(0) = "Goodby"
s //> res0: Array[String] = Array(Goodby, world)

nums(0) = 10

val b = ArrayBuffer[Int](10) //> b  : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(10)
b += 1 //> res1: com.scala02.tuple.ScalaInAction.b.type = ArrayBuffer(10, 1)
b += (2, 3, 5) //> res2: com.scala02.tuple.ScalaInAction.b.type = ArrayBuffer(10, 1, 2, 3, 5)
b ++= Array(22, 11, 33) //> res3: com.scala02.tuple.ScalaInAction.b.type = ArrayBuffer(10, 1, 2, 3, 5, 2
//| 2, 11, 33)

b.trimEnd(5)
b.insert(2, 6)
b.insert(2, 7, 8, 9)

b.remove(2) //> res4: Int = 7

b //> res5: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(10, 1, 8, 9, 6
//| , 2)

val c = b.toArray //> c  : Array[Int] = Array(10, 1, 8, 9, 6, 2)

c //> res6: Array[Int] = Array(10, 1, 8, 9, 6, 2)

for (i <- 0 until a.length)
println(i + ":" + a(i)) //> 0:null
//| 1:null
//| 2:null
//| 3:null
//| 4:null
//| 5:null
//| 6:null
//| 7:null
//| 8:null
//| 9:null

val c2 = Array(5, 6, 10, 2, 3) //> c2  : Array[Int] = Array(5, 6, 10, 2, 3)
val result = for (elem <- c2) yield 2 * elem //> result  : Array[Int] = Array(10, 12, 20, 4, 6)

for (elem <- c if elem % 2 == 0) yield 2 * elem //> res7: Array[Int] = Array(20, 16, 12, 4)
// 过滤后的偶数 结果 x3
c2.filter(_ % 2 == 0).map(3 * _) //> res8: Array[Int] = Array(18, 30, 6)
c2 //> res9: Array[Int] = Array(5, 6, 10, 2, 3)

val d = ArrayBuffer(1, 7, 2, 3) //> d  : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 7, 2, 3)
val bSorted = d.sorted //> bSorted  : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3,
//| 7)
val e = Array(1, 7, 2, 9) //> e  : Array[Int] = Array(1, 7, 2, 9)
scala.util.Sorting.quickSort(e)

e //> res10: Array[Int] = Array(1, 2, 7, 9)
e.mkString //> res11: String = 1279
e.mkString("<", ",", ">") //> res12: String = <1,2,7,9>

val matrix = Array.ofDim[Double](3, 4) //> matrix  : Array[Array[Double]] = Array(Array(0.0, 0.0, 0.0, 0.0), Array(0.0,
//|  0.0, 0.0, 0.0), Array(0.0, 0.0, 0.0, 0.0))
matrix(2)(1) = 42
matrix //> res13: Array[Array[Double]] = Array(Array(0.0, 0.0, 0.0, 0.0), Array(0.0, 0.
//| 0, 0.0, 0.0), Array(0.0, 42.0, 0.0, 0.0))
val triangle = new Array[Array[Int]](10) //> triangle  : Array[Array[Int]] = Array(null, null, null, null, null, null, n
//| ull, null, null, null)
for (i <- 0 until triangle.length)
triangle(i) = new Array[Int](i + 1)

triangle //> res14: Array[Array[Int]] = Array(Array(0), Array(0, 0), Array(0, 0, 0), Arr
//| ay(0, 0, 0, 0), Array(0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0), Array(0, 0,
//| 0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0), Array(0, 0, 0, 0, 0, 0, 0, 0
//| , 0), Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0))

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: