前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html1:Scala之基础语法学习笔记:1:声明val变量:可以使用val来声明变量,用来存放表达式的计算结果,但是常量声明后是无法改变它的值的,建议使用val来声明常量;声明var变量:如果要声明可以改变的引用,可以使用var变量,声明的常量的值可以改变。
3:指定类型:无论声明val变量还是声明var变量。都可以手动指定其类型,如果不指定,scala会自动根据值,进行类...
Scala的集合框架类比Java提供了更多的一些方便的api,使得使用scala编程时代码变得非常精简,尤其是在Spark中,很多功能都是由scala的这些api构成的,所以,了解这些方法的使用,将更加有助于我们学习Scala和Spark: List,Map,Set的一些api的用法如下:/** * Scala 集合测试 */ def collectionTest(): Unit ={ val map =Map("red"->"红色","green"->"绿色") val colors = List("red", "green", "blue") //map函数测试 ,打印长...
将函数映射到集合map方法val names = List("Peter" , "Paul", "Mary")names.map(_.toUpperCase) // 等同于 for(n <- names) yield n.toUpperCase
flatMap方法,如果函数产出一个集合,又想将所有值串联在一起def ulcase(s:String) = Vector(s.toUpperCase(), s.toLowerCase())names.map(ulcase)得到List(Vector("PETER","peter"), Vector("PAUL","paul"), Vector("MARY","mary"))names.flatMap(ulcase)得到List("PETER","peter","P...
11.1 集合元素的映射-map映射操作 11.1.1 看一个实际需求 要求:请将List(3,5,8)中所有的元素都*2,将其结果放到一个新的集合中返回,即返回一个新的List(6,10,16),请编写程序实现 11.1.2 map映射操作 11.1.3 使用传统方法 -案例演示object boke_demo01 {def main(args: Array[String]): Unit = {/*请将List(3,5,8) 中的所有元素都 * 2 ,将其结果放到一个新的集合中返回,即返回一...
object ListDemo {def main(args: Array[String]): Unit = {//ListBufferval listBuffer = ListBuffer(1,2,3)val listBuffer1 = ListBuffer(88,99)//添加元素,可变集合,list本身发生变化,而不是返回新的listlistBuffer += 4listBuffer.append(5,6)//添加整个集合(扁平)listBuffer ++= listBuffer1//++=的展开写法,需要接收返回值,也是ListBufferval listBuffer2 = listBuffer ++ listBuffer1println(listBuffer)println(listB...
Scala编程文章目录
Scala编程第六部分 特质第1节 作为接口使用的特质第2节 带有具体实现的特质第3节 特质构造顺序第4节 特质继承类第5节 Ordered和Ordering
第七部分 模式匹配和样例类第1节 模式匹配第2节 字符和字符串匹配第3节 守卫式匹配第4节 匹配类型第5节 匹配数组、元组、集合第6节 样例类第7节 Option与模式匹配
第八部分 函数及抽象化第1节 函数字面量及函数的定义第2节 函数与方法的区别第3节 匿名函数与占位符第4节 高阶...
Map 特质也包含了多个可变和不可变的具体实现类。
生成键值对
scala> val t="a"->1
val t: (String, Int) = (a,1)scala> val t2=("a",1)
val t2: (String, Int) = (a,1)scala> val t3=Tuple2("a",1)
val t3: (String, Int) = (a,1)
初始化
val m =Map(t)根据键值查找值 apply get getOrElse withDefault withDefaultValue getOrElseUpdate
scala> val m=Map("a"->1,"b"->2,"c"->3)
val m: scala.collection.immutable.Map[String,I...
Set集合
不可变 val set =Set(1,2,3,4,1,2,3) (1)Set默认是不可变集合,数据无序 (2)数据不可重复 可变 import scala.collection.mutable val set1= mutable.Set(1,2,3)
object Demo07Set {def main(args: Array[String]): Unit = {//set不可变val set =Set(1,2,3,4,1,2,3)println(set)println(set + 5) //向set中添加数据println(set)set.size //集合大小set.toList.sorted //先转化为list集合再升序排序set.toArray //转...
我有4w条mysql数据,我想找出其中含有维也纳酒店的字段,再通过逆序排列 用scala很容易实现
import java.sql.{Connection, DriverManager}
import scala.:+
import scala.collection.mutable
import scala.collection.mutable.{ArrayBuffer, ListBuffer}object test1 {def main(args: Array[String]): Unit = {// 访问本地MySQL服务器,通过3306端口访问mysql数据库val url = "jdbc:mysql://localhost:3306/user?useUnicode=true&c...