Scala入门篇

简介: 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")


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
7月前
|
消息中间件 Java 大数据
Scala快速入门
Scala快速入门
74 0
|
11月前
|
分布式计算 IDE Ubuntu
|
分布式计算 Java Hadoop
Scala简介与Scala的下载安装
Scala简介与Scala的下载安装
Scala简介与Scala的下载安装
|
安全 JavaScript 前端开发
SCALA程序设计 第一章:scala简介
Scala是一门静态类型语音,是一门以Java虚拟机为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。
159 0
|
存储 Java 大数据
Scala入门教程(下)
Scala入门教程(下)
206 0
|
大数据 Scala
Scala入门教程(中)
Scala入门教程(中)
130 0
Scala入门教程(中)
|
消息中间件 分布式计算 Java
Scala入门教程(上)
Scala入门教程(上)
432 0
Scala入门教程(上)
|
Java 编译器 Scala
Scala学习系列(三)——入门与基础
Scala学习系列(三)——入门与基础
186 0
Scala学习系列(三)——入门与基础
|
Java Scala
Scala教程之:Scala基础
Scala教程之:Scala基础