输入输出
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")