4.    Scala基础 4.1.   声明变量 package cn.itcast.scala object VariableDemo {   def main(args: Array[String]) {     //使用val定义的变量值是不可变的,相当于java里用final修饰的变量     val i = 1     //使用var定义的变量是可变得,在Scala中鼓励使用val     var s = "hello"     //Scala编译器会自动推断变量的类型,必…
list.+:5 , list.::5: 在list集合头部添加单个元素5 : li1.:+(5):在list集合尾部添加单个元素5: li1++li2,li1:::li2:在li1集合尾部添加il2集合: li1.:::(li2):在li1集合头部添加li2集合. li1--=li2:可变list集合li1中,减去li2集合中的元素,li1中的元素为减少后的元素. List:可重复.有序(注意,这里的有序不是指它里面的元素从小到大排序,而是指它里面的元素的位置不会改变,每个元素都有自己的位置序…
package cn.itcast.collect /** *作业题 */object ListTest { def main(args: Array[String]): Unit = { //创建一个List val list0=List(1,7,9,8,0,3,5,4,6,2) //将list0中的每一个元素乘以10后生成一个新的集合 val list1=list0.map(x=>x*10) println("list1==== "+list1) //将list0中的偶数取出…
val list=List(1,2,3,4) list.reduce((x:Int,y:Int)=>x+y)--->list.reduceLeft((x:Int,y:Int)=>x+y) var first = true var acc:Int = 0 op=(x:Int,y:Int)=>x+y for循环第一次循环:acc=1 first = false第二次循环:acc=op(1,2)=1+2=3第三次循环:acc=op(3,3)=3+3=6第四次循环:acc=op(6,4)=…
5.2.   映射 在Scala中,把哈希表这种数据结构叫做映射. 1.1.1.    构建映射 (1)构建映射格式 1.val map=Map(键 -> 值,键 -> 值....) 2.利用元组构建  val map=Map((键,值),(键,值),(键,值)....) 1.1.2.    获取和修改映射中的值 (1)获取映射中的值: 值=map(键) 好用的getOrElse 注意:在Scala中,有两种Map,一个是immutable包下的Map,该Map中的内容不可变:另一个是muta…
1. 定义数组时,没有new和有new是有区别的: scala> val arr3 = Array[Int](2)    此时,arr3中仅包含1个元素2arr3: Array[Int] = Array(2) scala> val arr6 =new Array[Int](2)    如果new,相当于调用了数组的apply方法,直接为数组赋值arr6: Array[Int] = Array(0, 0)     此时,指定该数组类型为Int,则arr6中包含2个元素0,0 scala>…
1.    Scala编译器安装 1.1.   安装JDK 因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK. 1.2.   安装Scala 1.2.1.    Windows安装Scala编译器 访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,目前最新版本是2.12.x,这里下载scala-2.11.8.msi后点击下一步就可以了(自动配置上环境变量).也可以下载scala-2.11.8.zip,解压后配置上环境变量就可…
Scala编程 1.    课程目标 1.1.  目标1:熟练使用scala编写Spark程序 1.2.  目标2:动手编写一个简易版的Spark通信框架 1.3.  目标3:为阅读Spark内核源码做准备 2.    Scala概述 2.1.   什么是Scala Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性.Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序.http://www.scala-lang.org 2.2.   为…
Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; println(s)A:区分大小写 -  Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义.def main(args: Array[String]) - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分. 标识符字符数字和符号字符数…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark-1.6 Scala是一种混合功能编程语言,类似java,运行于JVM,集成面向对象编程和函数式编程的各种特性.(1)Scala可以与Java互操作:它用scalac这个编译器把源文件编译成Java的class文件,从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的…