Scala集合练习


object Homework_Scala_03 {
  def main(args: Array[String]): Unit = {
    //1.创建一个List(3,2,4,6,7,5,1,0,9,8)
  val list: List[Int] = List(3,2,4,6,7,5,1,0,9,8)
    println("创建的集合为:"+list)
    //2.将list中每个元素乘以2后生成一个新的集合
    val newlist1: List[Int] = list.map(_*2)
    println("list中每个元素乘以2后生成一个新的集合为:"+newlist1)
    //3.将list1中的偶数取出来生成一个新的集合
    val newlist2 = list.filter(_%2==0)
    println("list中的偶数取出来生成一个新的集合为:"+newlist2)
    //4.将list1排序后生成一个新的集合
    val sorted_list: List[Int] = list.sorted
    println("排序后"+sorted_list)
 //5.反转排序顺序
    val reverse_sortlist: List[Int] = sorted_list.reverse
    println("反转排序后的集合"+reverse_sortlist)
    //6.将list1中的元素4个一组方法(grouped),看一下是什么数据类型
    //将上面方法得到的分组类型转换成List
    val grouped_list: Iterator[List[Int]] = list.grouped(4)
    val list1: List[List[Int]] = grouped_list.toList
    println(list1)
    val list_to_map: List[Int] = list1.map(_.size)
   println(list_to_map)
    //7.将多个list压扁成一个List
    val list1_flatten: List[Int] = list1.flatten
    println(list1_flatten)
    val strings_list: List[String] = List("hello tom hello jerry", "hello suke hello", " hello tom")
    //8.先按空格切分,再压平
    val strings_flapmap: List[String] = strings_list.flatMap(_.split(" "))
    println(strings_flapmap)
    //9.wordcount
    strings_flapmap.map((_,1))
    val tuple: List[(String, Int)] = strings_flapmap.map((_,1))
    println(tuple)
    //根据单词进行分组
    //将相同的单词进行分组
    val stringToTuples: Map[String, List[(String, Int)]] = tuple.groupBy(_._1)
    println(stringToTuples)
    //单词统计
    val mapvalue_word: Map[String, Any] = stringToTuples.mapValues(_.size)
     println(mapvalue_word)
    //求出Top1,数据已经存在Map集合中
     val to_list: List[(String, Any)] = mapvalue_word.toList
     println(to_list)
    //这个排序是根据传入的指定值来进行排序的,默认是升序,无法直接降序,Spark中有一个和这个方法一样的sortBy,是
    //可以自由升序降序
}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值