27_Scala功能函数

功能函数

1.功能函数处理集合数据

–集合的功能函数 map

List --> map( logical ) --> newList

–实现一个不确定的功能,但是这个功能的主要目的是将数据集中的每一条数据进行处理后返回一个新的集合
–scala已经封装好了,提供了可以自动转换的操作,具体逻辑由开发人员自己提供; map方法

–map函数需要传入函数类型

–可变集合不可变集合都适用

–功能函数一般都是使用匿名函数

import scala.collection.mutable
val list = mutable.Seq(2, 0, 4, 8)
list.map(_ * 2)       //map操作不改变原始集合

在这里插入图片描述

2.扁平化操作

import scala.collection.mutable
val list = mutable.Seq(2, 0, 4, 8)
//    println(list.map(_ * 2)) //map操作不改变原始集合 //此处的下划线表示占位符,就表示每一条数据

在这里插入图片描述

–List(List(2,0),List(4,8))扁平化操作就是将复杂数据集合,中取出单个独立的数据
–flatten扁平化操作会将String类型当作char数组使用

//    --flatten扁平化操作会将String类型当作char数组使用
var list2 = List("hello lilei", "hello fanbingbing")
println(list2.flatten) 

在这里插入图片描述

–可以进行自定义函数扁平化flatMap()

val strings = list2.flatMap(
  str => str.split(" ") //直接将str 进行变化即可
)
println(strings) //List(hello, lilei, hello, fanbingbing)

在这里插入图片描述

3.按照指定条件将数据集中的数据进行过滤

list.filter(num => true)

–filter函数需要传入函数对象

4.集合通过 自定义函数进行分组

val list3 = mutable.Seq(1, 3, 4, 8)

val intToInts = list3.groupBy(
  num => {
    if (num % 2 == 0) {
      0
    } else {
      1
    }
  }
)
print(intToInts)

在这里插入图片描述

API使用groupby,传参传入的是一个函数对象类型

传入指定标记,标记没有指定写法

5.mapValues

--mapValues函数,其操作Map集合中V的变化的函数
val map = mutable.Map("a" -> 2, "b" -> 3, "c" -> 4)
val stringToInt = map.mapValues(
  num => num * 2
)
println(stringToInt)

在这里插入图片描述

6.sortBy函数

按照指定顺序进行排序。sortBy默认情况下升序排序

//    sortBy
    var list4 = List(2,0,4,8)
    println(

      list4.sortBy(
      num => num		//按照数字大小排序
      )

)

在这里插入图片描述

如果是想要降序排序,需要传入逻辑柯里化操作,在排序逻辑旁边不需要加逗号,直接加括号即可;

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值