Scala常用函数

【Scala集合】21、集合常用函数 Scala 提供了丰富的集合类和操作函数,下面列举一些常用的集合函数:下面分别讲述每个函数的函数定义以及执行过程: 二、 函数: 函数定义: 执行过程: 函数接收一个条件函数 ,该函数将集合中的每个元素类型 进行条件判断,返回一个布尔值。 函数对集合中的每个元素应用条件函数 ,并返回满足条件的元素组成的新集合 。 三、 和 函数: 函数定义: 和 执行过程: 和 函数分别接收一个初始值 和一个二元操作函数 。 函数从左侧开始对集合中的元素进行累积计算,初始值 是计算的起始值; 函数从右侧 阅读详情

以下代码块,直接复制,粘贴上机测试便可

    /**
      * Created by Administrator on 2017/1/11.
      *
      */
    object Scalatest {


      def main(args: Array[String]): Unit = {
        println("ceshi")

        MaxMin

        Filter

        DiffIntersectUnionDis

        Map

        Partition

        Reduce

        Sort

        Count

        GroupBy
      }


      case class Book(title : String ,pages : Int)

      //Seq(列表) -> 类比java的数组
      val Books = Seq(
        Book("Future of Scala developer",85),
        Book("Parallel algorithms",240),
        Book("Object Oriented Programming",130),
        Book("Mobile Development",495)
      )

      /**
        * 场景:求最大最小值
        * maxBy 最大值
        * minBy 最小值
        */
      def MaxMin (): Unit ={
        //获取最大的一个
        //Max is :Book(Mobile Development,495)
        println("Max is :" + Books.maxBy(book => book.pages))
        //Max is :Mobile Development
        println("Max is :" + Books.maxBy(book => book.pages).title)
        //Max is :495
        println("Max is :" + Books.maxBy(book => book.pages).pages)
        //获取最小的一个
        //Min is :Book(Future of Scala developer,85)
        println("Min is :" + Books.minBy(book => book.pages))
        //Min is :Future of Scala developer
        println("Min is :" + Books.minBy(book => book.pages).title)
        //Min is :85
        println("Min is :" + Books.minBy(book => book.pages).pages)
      }


      /**
        * 场景: 过滤数据
        * filter 过滤
        */
      def Filter(): Unit ={
        var filbook = Seq[Book]()
        //返回一个集合
        println("over 200 is : ")
        filbook = Books.filter(book => book.pages >= 200)
        //240 495
        for(i <- 0 to filbook.size-1){
          println(filbook(i).pages)
        }
      }

      /**
        * 场景:集合的差交并重功能
        * diff,以前者为主,取前者差集
        * intersect,以前者为主,取两者交集
        * union,两个集合取并集
        * distinct,去重
        */
      def DiffIntersectUnionDis(): Unit ={
        val num1 = Seq(1,2,3,4,5,6)
        val num2 = Seq(4,5,6,7,8,9)

        var Di = Seq[Int]()
        var Inter = Seq[Int]()
        var Un = Seq[Int]()
        //list(1,2,3)
        Di = num1.diff(num2)
        Di.foreach(print)
        println()
        //list(4,5,6)
        Inter = num1.intersect(num2)
        Inter.foreach(print)
        println()
        //list(1,2,3,4,5,6,4,5,6,7,8,9)
        Un = num1.union(num2)
        Un.foreach(print)
        println()
        Un.distinct.foreach(print)
      }

      /**
        * 场景: 对数据处理
        * map函数的逻辑是遍历集合中的元素并对每个元素调用函数,返回函数使用后的值
        */
      def Map(): Unit ={
        val numbers = Seq(1,2,3,4,5,6)
        var number1 = Seq[Int]()
        var Stringadd = Seq[String]()
        number1 = numbers.map(n => n*2)
        println()
        //list(2,4,6,8,10,12)
        number1.foreach(print)
        Stringadd = numbers.map(n => n.toString + "ceshi")
        println()
        //list(1ceshi,2ceshi,3ceshi,4ceshi,5ceshi,6ceshi)
        Stringadd.foreach(print)
      }

      /**
        * 场景:将指定的集合按照自定的规则拆分成两个新的集合
        * partition,分组
        */
      def Partition(): Unit ={
        val numbers = Seq(1,2,3,4,5,6,7,8,9)
        val (list1,list2) = numbers.partition(n => n % 2 == 0)
        println()
        list1.foreach(print)
        println()
        list2.foreach(print)
      }

      /**
        * reduce : 定义一个变化f, f把两个列表的元素合成一个,遍历列表,最终把列表合并单一元素
        */
      def Reduce(): Unit ={
        val nums =List(1,2,3)
        //6
        val sum1 = nums.reduce((a,b) => a+b)
        //6
        val sum2 = nums.reduce(_+_)
        //6
        val sum3 = nums.sum
      }

      /**
        *sortBy :按照应用函数f之后产生的元素进行自然排序
        *sortWith :使用自定义的比较函数排序
        *sorted :按照元素自身排序
        *PS: 作用于list
        */
      case class User(name : String,mark : Int)
      def Sort(): Unit ={
        val nums =List(1,3,2,4)
        val sorted = nums.sorted
        //List(1,2,3,4)
        println()
        sorted.foreach(print)

        val user = List (("Homeway",25),("XSDYM",23),("ceshi",28))
        //case 使用自定类
        val sortedByAge = user.sortBy(User => User._2)
        //(XSDYM,23)(Homeway,25)(ceshi,28)
        sortedByAge.foreach(print)
        println()
        //case Scala的模式匹配(匹配List)
        val sortedWith = user.sortWith( {case (user1,user2) => user1._2 > user2._2})
        //(ceshi,28)(Homeway,25)(XSDYM,23)
        sortedWith.foreach(print)
      }

      /**
        * Count: 按照一定f函数统计所需数据
        */
      def Count(): Unit ={
        val nums = List(-1,-2,0,1,2)
        val plusCnt1  = nums.count( _ >= 0)
        println(plusCnt1)
        val plusCnt2  = nums.filter( _ > 0).length
        println(plusCnt2)
      }

      /**
        * groupBy : 将列表进行分组,分组的依据是应用f在元素上后产生的新元素
        * grouped : 按列表按照固定的grouped(4)大小进行分组 4个元素一组
        */
      def GroupBy(): Unit ={
        val data = List(("jie","male"),("jian","female"),("xian","male"),("jie1","male"),("jian1","female"),("xian1","male"))
        val group1 = data.groupBy(_._2)
        //map ("male"->list(("jie","male"),("xian","male")),"femail"->list("jian","femail"))
        val groupMap = data.groupBy({case (name,sex)=>sex})
        println()
        //Map(male -> List((jie,male), (xian,male), (jie1,male), (xian1,male)), female -> List((jian,female), (jian1,female)))
        println(groupMap.toString)

        val fixSizeGroupMap = data.grouped(4)
        println()
        //List((jie,male), (jian,female), (xian,male), (jie1,male))
        //List((jian1,female), (xian1,male))
        fixSizeGroupMap.foreach(println)
      }



    }
Spark常用的算子以及Scala函数总结.pdf Spark RDD 算子说明,分别讲述了Transformation和Action这两类的算子。 立即下载

相关推荐

Unified Access Control:从NAS到RRC的5G接入控制全流程解析

本文深入解析了5G统一接入控制(Unified Access Control)的全流程,从NAS到RRC的协同工作机制。通过身份核验、业务分类和动态决策三个核心步骤,UAC实现了智能调度和弹性决策,确保海量设备接入时的网络稳定性。文章详细介绍了USIM卡的身份凭证体系、NAS层的业务分类引擎以及RRC层的动态决策机制,并提供了实战案例和常见问题排查方法。

weixin_30855099的博客 589

Scala基础:常用函数

1.filter 过滤函数 表达式: list.fillter(条件表达式) 作用:对集合遍历过滤,返回满足条件元素的新集合 val list0 = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val list1 = list0.filter(x => x*x) val list2 = list0.filterNot(x => x +x) println(list1) //List(2, 4, 6, 8,10) prin...

Dr.Pandora's Box 708

制造业私有化LLM部署实战:从RAG到智能体,构建企业专属知识大脑

大型语言模型(LLM)作为人工智能的核心技术,通过在海量文本数据上进行预训练,具备了强大的语言理解和生成能力。其原理在于基于Transformer架构,通过自注意力机制捕捉长距离语义依赖。这一技术价值在于能将非结构化信息转化为可计算、可推理的知识,从而赋能企业实现知识的高效管理与应用。在制造业等强数据安全与知识密集型领域,私有化部署的LLM结合检索增强生成(RAG)和智能体(Agent)技术,能够深入业务流程,构建安全、专属的智能知识中枢。本文聚焦于如何利用Qwen、LangChain、向量数据库等技术栈,

weixin_42523711的博客 247

scala函数大全

scala函数解释加实例

weixin_53898747的博客 3958

从零构建个性化AI助手:基于Mem0与本地大模型的记忆化实践

本文详细介绍了如何利用Mem0与本地大模型构建个性化AI助手,实现记忆化应用结构的实践方法。从开发环境搭建、记忆存储机制到个性化交互实现,提供了完整的解决方案和代码示例,帮助开发者在本地环境中创建能记住用户习惯和偏好的智能助手。

weixin_29214335的博客 465

DeepLearning tutorial(7)深度学习框架Keras的使用-进阶

上一篇文章总结了Keras的基本使用方法,相信用过的同学都会觉得不可思议,太简洁了。十多天前,我在github上发现这个框架的时候,关注Keras的人还比较少,这两天无论是github还是微薄,都看到越来越多的人关注和使用Keras。所以这篇文章就简单地再介绍一下Keras的使用,方便各位入门。主要包括以下三个内容: 训练CNN并保存训练好的模型。 将CNN用于特征提取,用提取出来的特征训练SVM。

wepon的专栏 2万+

scala常用函数大全

一、添加、更新元素函数 ++ 两个集合相加,返回一个左边集合类型的新集合 val a = Array(1, 2) val b = Array(3, 4) val c = a ++ b println(c.mkString(",")) // 1,2,3,4 ++:两个集合相加,返回一个右边集合类型的新集合 val a = List(1, 2) val b = scala.collection.mutable.LinkedList(3, 4) val c = a ++:

qq_41704237的博客 1935

SAP物料分类账实战:从配置到月结的关键步骤(基于S/4HANA1909)

本文详细解析了在SAP S/4HANA 1909系统中,物料分类账从基础配置到月结操作的全流程。作为成本核算的核心,物料分类账通过多级价格确定实现实际成本核算,关键步骤包括激活物料分类账、配置自动过账科目(OBYC)、运行CKMLCP进行差异分摊与结算。文章旨在帮助财务与成本会计人员确保成本差异的准确归集与分摊,顺利完成月结。

weixin_28314575的博客 195

scala集合的partition方法使用

在Scala中,partition 方法用于将集合(例如 List、Array ,Set等)中的元素根据给定的条件分成两个部分,并返回一个元组,其中包含两个新的集合,第一个包含满足条件的元素,另一个包含不满足条件的元素。可以看到非常方便快速的就将两个集合分开了,还是比较好用的。

三劫散仙 793

【华为OD技术面】 - 考到的Lettcode手撕算法代码真题目录

【华为OD技术面 - 考到的Lettcode手撕算法代码真题目录

算法大师! 7816

机器学习kaggle报告-Facial Keypoints Detection【完整解题过程+代码】

在处理面部关键点检测任务时,首先需要将存储在 CSV 文件中的图像数据转换为可以显示和分析的图像。数据集中每个图像是以一个一维数组的形式存储,其中包含了图像的所有像素值。为了将这些数据转化为实际的图像,我们需要按照一定的规则将这些像素值重新排列为一个二维矩阵(即图像的行列)。下面是一个案例,展示了如何将数据集中的图像数据转化为图片。转化过程读取CSV文件:首先,我们需要读取包含图像数据的 CSV 文件,通常该文件包含多张图像的像素值。每一行表示一张图像,并且包含图像的像素值列表。提取图像数据。

一键难忘的博客 3353

Scala012--Scala中的常用集合函数及操作Ⅲ

一,grouped函数 1,按照元素分组(两两分组) 2,两两分组并输出结果 二,groupBy函数 1,按照奇偶进行分组 2,按照单词首字母进行聚合 3,元组分组 4,按照成绩分组 三,mapValues函数 1,对map中嵌套的数组进行求和 2,按照单词把元素分到一组,并获取每一组中元素个数 四,diff,union,intersect函数 1,diff函数 2,union函数 3,intersect函数

干就完了 2315

【BlueZ】编译产物详解:可执行文件/库文件/工具的生成路径与用途

BlueZ二次开发编译产物机制解析 摘要:在BlueZ蓝牙协议栈二次开发中,90%的报错源于对编译产物类型和路径的混淆。本文系统剖析BlueZ的三阶段编译机制:1)配置阶段生成Makefile;2)编译阶段在.libs目录下产生临时库和可执行文件(不可直接运行);3)安装阶段将产物部署到系统标准路径。重点解析守护进程、命令行工具、动态库的核心路径差异,并针对五大高频问题(如临时库运行崩溃、动态库不匹配、系统覆盖等)给出解决方案。

byte轻骑兵的技术小窝 1万+

scala学习之scala中一些集合的常用函数

scala学习 集合常用函数 集合的基本属性与常用操作 长度、大小、循环遍历、迭代器、生成字符串、是否有包含等 object TestSetFunction { def main(args: Array[String]): Unit = { val list = List(1,2,3,4,5,6,7,8,9) // 长度 println(list.length) // 集合大小 println(list.size) //遍历 list.for

airleaya的博客 303

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

scala中常用Array函数

所有函数测试均s以cala交互式编程方式(wimdows cmd 下执行scala)完成。 scala数组 ·存储的大小固元素索引 ·数组索引从0开始 //数组创建方式一 var a1:Array[String] = new Array[String](3) a1(0)="Jason" a1(1)="Marie" a1(2)="Jimmy" a1存储结果 Array(Jason, Marie, Jimmy) //数组创建方式二 var a2=Array("Jason","Marie","Jimmy") a2

DaiSnow的博客 548

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Scala数组常用函数(1)

Scala数组的函数有很多个,需要熟练掌握的必要性很大,便于我们以后能想到用这个方法去完成什么功能。再初识scala的时候发现这些函数或者说是语法比java的要难很多,需要花时间去理解以及背下来。(背下来划重点!)

weixin_51981189的博客 1920

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Scala 集合常用函数

Scala 常用集合函数

m0_72168501的博客 818

Scala数组常用函数(2)

后补齐序列,如果当前序列长度小于 len,那么新产生的序列长度是 len,多出的几个位值填充 elem,如果当前序列大于等于 len ,则返回当前序列。分割序列为两个集合,从第一个元素开始,直到找到第一个不满足条件的元素止,之前的元素放到第一个集合,其它的放到第二个集合。将数组元素是三个元素的这种数组,第一个元素都取出组成一个序列,第二个元素组成一个序列,第三个元素组成一个序列。将数组元素是两个元素的这种数组,把它们的第一个元素取出组成一个序列,第二个元素组成一个序列。

weixin_51981189的博客 3454

Scala集合常用函数超详细

大家好,我是楚生辉,在未来的日子里我们一起来学习Scala相关的技术,一起努力奋斗,遇见更好的自己!Scala是一门的编程语言,一种类似的编程语言,设计初衷是实现可伸缩的语言 、并集成和的各种特性。今天着重分享一下集合常用函数相关知识,有需要的小伙伴可以自行获取与学习~

楚生辉的博客 1万+

SCALA的常用高阶函数

scala常用高阶函数 // map->在列表的每个元素上计算一个函数,并且返回一个包含相同数目元素的列表 def main(args:Array[String]) { val num = List(1,2,3,4) num.map((i:Int)=>i*2) for (n <- num.map((i:Int)=>i*2)) { prin...

lipan1413的博客 435

Scala之集合常用函数

Scala之集合常用函数 1.基本属性和常用操作 object TestList { def main(args: Array[String]): Unit = { //基本属性与常规操作 val list=List[Int](1,2,3,4,5,6) //查看集合的长度 println(list.length) println(list.size) //集合遍历 for(i<-list){ println(i) }

weixin_45481968的博客 373

Scala集合常用函数与集合计算简单函数,高级计算函数Map和Reduce等

Scala集合常用函数与集合计算简单函数,高级计算函数Map和Reduce等

m0_46168848的博客 959

scala集合常用函数

一、元组 元组就是可以存放不同类型元素的集合,每个元组最多只能存放22个元素,且元组可嵌套。 元组直接用 () 创建,用元组._i访问,i为元素序号,从1开始。 object Main extends App { //创建元组 val tuple = (1,"a",Map("b" -> 2).get("b"),Set(4,6,5).mkString("-"),Array(1,2,3).mkString("-"),List(2,3),("y",5)) println(tuple)

weixin_45052608的博客 485

scala(七):集合常用函数

过滤filter,映射/转换map,扁平化flatten,扁平化+映射flatMap,分组groupBy,简化/归约reduce,折叠fold。简化(归约):通过指定的逻辑将集合的数据进行聚合,从而减少数据,最终获取结果。sorted对一个集合进行自然排序,通过传递隐式的Ordering。sortWith基于函数的排序,通过一个comparator。sortBy对一个属性或多个属性进行排序,通过它的类型。函数,实现自定义排序的逻辑。折叠:化简的一种特殊情况。

qq_55906442的博客 1667

【Sparksql学习】SparkSql常用函数(DSL+scala)

/ 按 dept 分区,按 salary 降序排序// 按 dept 分区,取当前行前后 1 行(行范围)

Allwordhuier的博客 1339
上一篇: 报错:No main manifest attribute
下一篇: IDEA打包可执行jar
yjgithub
博客等级 码龄11年 53粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值