Scala基础
一、Scala 基础学习:
1.全面向对象:所有的值都是对象
2.函数也是值
3.类和特征,多继承
4.定义量 var (变量)val(常量)
5.定义函数def
6.函数参数 => 是在使用的时候执行 参数lazy
7.循环 map filter foreach …
8.数据类型 只有一类 any(AnyVal,AnyRef)
8.1Tuple() 一共到Tuple22
8.2Collection
下面就用一些通俗的例子来说明用法吧
Map函数是遍历通过打印_得到每一个值 是当前所有值
(1 to 100 by 5).map(println())
(1 to 100)filter(%2==1)foreach(println())
foreach和map都是用于遍历集合对象,并对每一项执行指定的方法。而两者的差异在于:foreach无返回值
until是不包含5的,to包含5
数据通过箭头一指 就放到i里面了
二、Scala 常用类型和函数
只有一种数据了类型 any
Tuple() 一共到Tuple22 到23就报错了 Tuple 里的值下标是从1开始的
在元组后面拼接一个数字
键值对方式
Concat()拼接 结果为(1,2,4,6)
groupBy(function) function返回key
val a = sc.parallelize(1 to 9, 3)
a.groupBy(x => { if (x % 2 == 0) "even" else "odd" }).collect//分成两组
/*结果
Array(
(even,ArrayBuffer(2, 4, 6, 8)),
(odd,ArrayBuffer(1, 3, 5, 7, 9))
)
Slice() 从下标为3开始 分段取
Sorted() 排序
SortWith() 按照自己的想法排
SortBy() 可以指定排
Grouped 每一组元素为多少
Sliding () 123 234 345 456 每个数字向下划一下
冒号 要在集合的一方 结果为2.7.5
2,7,5,9
把5追加到2.7里面
$是占位符 s就是一个标识,可以直接在字符串中实用变量