Scala入门篇

输入输出

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")

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二哥不像程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值