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

)

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

相关推荐
闲人编程2 分钟前
Python与区块链:如何用Web3.py与以太坊交互
python·安全·区块链·web3.py·以太坊·codecapsule
Want59518 分钟前
Python汤姆猫
开发语言·python
炮院李教员40 分钟前
TortoiseSVN 右键不显示的解决方法
windows
花姐夫Jun1 小时前
基于Vue+Python+Orange Pi Zero3的完整视频监控方案
vue.js·python·音视频
竹竹零1 小时前
JacksonUtil--序列化与反序列化
java·开发语言·windows
catoop2 小时前
在 Windows 中基于 WSL 子系统 Ubuntu 安装配置 conda 示例
windows·ubuntu·conda
像风一样自由20202 小时前
Rust与Python完全指南:从零开始理解两门语言的区别与关系
开发语言·python·rust
房开民3 小时前
RKNN-Toolkit2入门
python
岁岁岁平安3 小时前
本机 MongoDB 注册系统服务、启用security认证
数据库·python·mongodb