scala练习

  • 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
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值