Scala入门篇

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
数据可视化DataV,5个大屏 1个月
简介: 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")


相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
6月前
|
分布式计算 Java Hadoop
Scala入门必刷的100道练习题(附答案)
Scala入门必刷的100道练习题(附答案)
715 1
|
6月前
|
Java 大数据 Scala
Scala入门【运算符和流程控制】
Scala入门【运算符和流程控制】
|
3月前
|
分布式计算 大数据 Java
Scala 入门指南:从零开始的大数据开发
Scala 入门指南:从零开始的大数据开发
|
4月前
|
分布式计算 大数据 Java
大数据开发语言Scala入门
大数据开发语言Scala入门
|
4月前
|
IDE 大数据 Java
「AIGC」大数据开发语言Scala入门
Scala,融合OOP和FP的多范式语言,在JVM上运行,常用于大数据处理,尤其与Apache Spark配合。要开始学习,安装Scala,选择IDE如IntelliJ。基础包括变量、数据类型、控制结构、函数。Scala支持类、对象、不可变数据结构、模式匹配和强大的并发工具。利用官方文档、教程、社区资源进行学习,并通过实践提升技能。
63 0
|
6月前
|
Java Shell API
Scala入门【变量和数据类型】
Scala入门【变量和数据类型】
|
安全 Java 编译器
Scala语言入门:初学者的基础语法指南
作为一种在Java虚拟机(JVM)上运行的静态类型编程语言,Scala结合了面向对象和函数式编程的特性,使它既有强大的表达力又具备优秀的型态控制
92 0
|
JavaScript 前端开发 Java
Scala语言入门以及基本语法
Scala语言入门以及基本语法
|
分布式计算 Java 程序员
spark开发基础之从Scala符号入门Scala
spark开发基础之从Scala符号入门Scala
178 0
spark开发基础之从Scala符号入门Scala
|
消息中间件 分布式计算 Java
Scala入门教程(上)
Scala入门教程(上)
510 0
Scala入门教程(上)