输入输出
import scala.io._ println("请输入:") val line = StdIn.readLine() println("输出的是:"+line)
文件的写操作直接调用Java中的I/O类(java.io.file)
在当前目录下创建文件test.txt,并在文件中添加内容 Scala如下:
val writer = new PrintWriter(new File("test.txt")) writer.write("Scala") writer.close()
文件的读操作直接调用scala的IO接口
println("文件内容为:") Source.fromFile("test.txt").foreach{ print
Map映射的操作
val bigData = Map("scala"->34,"hadoop"->22,"spark"->50) //创建一个不可变的集合 println(bigData("scala")) //打印出Scala对应的值 println(bigData.contains("hadoop")) //查找Hadoop是不是在集合bigData中,返回值是true和false println(bigData.getOrElse("spark",22)) //若映射中存在key为Spark的键值,返回对应的value,若没有则返回默认值 var bigDataVar = scala.collection.mutable.Map("scala"->34,"hadoop"->22,"spark"->50) //可变的map输入 bigDataVar("spark") =100 bigDataVar += ("kacaga"->55) //添加键值对 println(bigDataVar) bigDataVar -= ("scala") //删除键值对 println(bigDataVar) for((k,v)<-bigData)println(k+" "+v) //打印key 和 value for((v)<-bigData.values)println(v) //只打印values for((k)<-bigData.keySet)println(k) //只打印key // }
关于元组的操作
val tuple1 = (1,"Scala","hadoop",2) println(tuple1._1) println(tuple1._2)
列表的基本操作
val fruit:List[String] = List("apple","oranges","pears") //定义String类型的列表 val number:List[Int] = List(1,2,3,4) //定义Int类型的列表 val empty:List[Nothing] = List() //定义一个空的列表 val dim:List[List[Int]] = List(List(1,0,0),List(1,2,3)) //定义一个二维的列表 println("Head: "+fruit.head) //找到列表中第一个值 println("Tail: "+fruit.tail) //找到除了第一个值以外的值 println("Check Empty: "+fruit.isEmpty) //判断list是否为空
串联列表的三种方法
class ListConcatTest{ def concaTest = { val fruit1 = "apples"::("oranges"::("pears"::Nil)) val fruit2 = "mangoes"::("banana"::Nil) var fruit = fruit1:::fruit2 //通过:::将两个表(或者更多的表)相连 println ("fruit1:::fruit2:"+fruit) fruit = fruit1.:::(fruit2) //通过.:::()方法串联列表 println("fruit1.:::fruit2:"+fruit) fruit = List.concat(fruit1,fruit2) //通过concat将两个表进行串联 println("List.concat:"+fruit) } } val lct = new ListConcatTest lct.concaTest
集合的操作(集合的基操作和List基本一致,具体参考上文)
val emptySet:Set[Int] =Set() val set1:Set[Int] = Set(1,3,4,5) val set2 =Set(1,3,5,7) val set3:Set[String] = Set("scala","spark","hadoop")