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		//按照数字大小排序
      )

)

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

相关推荐
☺����3 分钟前
实现自己的AI视频监控系统-第一章-视频拉流与解码2
开发语言·人工智能·python·音视频
王者鳜錸33 分钟前
PYTHON让繁琐的工作自动化-函数
开发语言·python·自动化
xiao助阵1 小时前
python实现梅尔频率倒谱系数(MFCC) 除了傅里叶变换和离散余弦变换
开发语言·python
麻辣清汤3 小时前
结合BI多维度异常分析(日期-> 商家/渠道->日期(商家/渠道))
数据库·python·sql·finebi
钢铁男儿3 小时前
Python 正则表达式(正则表达式和Python 语言)
python·mysql·正则表达式
钢铁男儿3 小时前
Python 正则表达式实战:解析系统登录与进程信息
开发语言·python·正则表达式
前端小趴菜054 小时前
python - range
python
☺����4 小时前
实现自己的AI视频监控系统-第一章-视频拉流与解码1
人工智能·python·音视频
前端小趴菜054 小时前
python - 元组常用操作
python
前端小趴菜054 小时前
python - 列表方法
python