1.统计 一句话中的单词个数与一串字母中字母出现的个数
package com
.uu
.bigdata
.scala
.howework
object Work
{
def
main(args
: Array
[String
]): Unit
= {
var st
= "what is my name what is my name what is my name what"
var st1
= st
.split(" ")
var st2
= st1
.foldLeft(Map
[String
,Int
]())((x
,y
)=> x
+(y
-> (x
.getOrElse(y
,0)+1)))
st2
.foreach(x
=>println(x
._1
+"有"+x
._2
+"个"))
var sr
= "jdkjfksklfjdlkjflksdjfkldsjflkdsjflds"
var sr1
= sr
.foldLeft(Map
[Char
, Int
]())((x
, y
) => x
+ (y
-> (x
.getOrElse(y
, 0) + 1)))
sr1
.foreach(x
=> println(x
._1
+ "有" + x
._2
+ "个"))
}
}
2给工资列添加值
package com
.uu
.bigdata
.scala
.howework
object Work2
{
def
main(args
: Array
[String
]): Unit
= {
var a1
= ( "张三",3000)
var a2
= ( "李四",2000)
var a3
= ( "王五",4000)
var a4
= ( "赵柳",3100)
val list
= List
[Tuple2
[String
,Int
]](a1
,a2
,a3
,a4
)
println(list
)
var list1
= list
.map(x
=>(x
._1
,(x
._2
*1.1).toInt
))
println(list1
)
}
}
3.scala实现排序 从小到大的排序。 将list分为小于头元素的部分与等于大于头元素的部分。 大于头元素的部分继续执行分list的方法。
def
quickSort(a
:List
[Int
]):List
[Int
]={
if (a
.length
< 2) a
else quickSort(a
.filter(_
< a
.head
)) ++ a
.filter(_
== a
.head
) ++ quickSort(a
.filter(_
> a
.head
))
}
4输出10到1之间的偶数 Range包含头不包含尾
for (i
<- Range(10,0,-1)) print(i
+" ")
5定义一个匿名方法
var ss
=(x
:Int
)=> x
+2
6定义一个函数作为形参传入方法中
package com
.uu
.bigdata
.scala
.day02
object Ceshi
{
def
main(args
: Array
[String
]): Unit
= {
print(jiaEr(ss
,3))
}
var ss
=(x
:Int
)=> x
+2
def
jiaEr(f
:(Int
)=>Int
,x
:Int
): Int
={
f(x
)
}
}
7自定义get与set方法 主要是格式 被定义的内容以_来开头。设置有无_的属性来被访问。
class Dog2 {
private var _leg
= 4
def leg
= _leg
def leg_
=(newLeg
: Int
) {
_leg
= newLeg
}
}