博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scala学习中遇到的问题
阅读量:2058 次
发布时间:2019-04-29

本文共 1470 字,大约阅读时间需要 4 分钟。

1.什么scala中的高阶函数

所谓一阶函数就是函数的参数不是函数,而是普通的变量;所谓高阶函数就是函数的参数是函数,此时认为函数是高阶函数。

用+=可以向集合当中添加具体的元素,用++=可以向集合当中添加具体的集合(List或者Array)。

3、简述List中的map、flatMap、foreach、filter的具体用法

1>map就是对集合中的所有元素执行一个具体的函数,将函数作用在数值上,并返回一个新的集合结果

2>flatMap:首先对List内部的每个成员进行map操作,然后在产生结果的基础上 进行flat–将map操作后的结果进行合并,产生合并之后的集合。

简单来说:flatMap首先执行map操作,然后对产生集合的结果进行合并,合并出一个新的集合结果

3>foreach:就是对集合中的每一个元素执行一个具体的函数,将函数作用在数值上,与map不同的是,foreach不产生具体的 结果,结果是Unit类型的。

4>filter:过滤出列表中符合条件的元素,filter结构中传进来的参数是一个结构为布尔类型的函数

4 scala学习之ListBuffer、ArrayBuffer、Queue、Stack

ListBuffer、ArrayBuffer分别是List与Array的新版本,在ListBuffer、ArrayBuffer中可以对List与Array进行更加灵活、高效的操作

Queue(对列)与Stack(堆)是两种经典的数据结构。

5.scala中的常用操作符(操作符其实也是函数)

++ ++B: List[B] 从列表的尾部添加另外一个列表

++: ++:B >: A, That(implicit bf: CanBuildFrom[List[A], B, That]): That 在列表的头部添加一个列表

+: +:(elem: A): List[A] 在列表的头部添加一个元素
:+ :+(elem: A): List[A] 在列表的尾部添加一个元素
:: ::(x: A): List[A] 在列表的头部添加一个元素
::: :::(prefix: List[A]): List[A] 在列表的头部添加另外一个列表
提示: 这里给大家一个提示,任何以冒号结果的操作符,都是右绑定的,即 0 :: List(1,2,3) = List(1,2,3).::(0) = List(0,1,2,3) 从这里可以看出操作::其实是右边List的操作符,而非左边Int类型的操作符

6.scala中常用函数与变换

map、flatMap, flatten;

reduce,reduceLeft,reduceRight;

fold,foldLeft,foldRight;

sortBy,sortWith,sorted;

filter, filterNot

count;

diff, union, intersect,distinct;

groupBy, grouped;

scan,scanLeft,scanRight;

take,takeRight,takeWhile;

drop,dropRight,dropWhile;

span, splitAt, partition;

padTo;

combinations,permutations;

zip, zipAll, zipWithIndex, unzip,unzip3;

slice;

sliding;

updated;


(后续继续更新。。。。)

转载地址:http://prvlf.baihongyu.com/

你可能感兴趣的文章
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-26》15.三数之和
查看>>
Leetcode C++《热题 Hot 100-27》17.电话号码的字母组合
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
Leetcode C++《热题 Hot 100-40》64.最小路径和
查看>>
Leetcode C++《热题 Hot 100-41》75.颜色分类
查看>>
Leetcode C++《热题 Hot 100-42》78.子集
查看>>
Leetcode C++《热题 Hot 100-43》94.二叉树的中序遍历
查看>>
Leetcode C++ 《第175场周赛-1 》5332.检查整数及其两倍数是否存在
查看>>
Leetcode C++ 《第175场周赛-2 》5333.制造字母异位词的最小步骤数
查看>>
Leetcode C++ 《第175场周赛-3》1348. 推文计数
查看>>
Leetcode C++《热题 Hot 100-44》102.二叉树的层次遍历
查看>>
Leetcode C++《热题 Hot 100-45》338.比特位计数
查看>>
读书摘要系列之《kubernetes权威指南·第四版》第一章:kubernetes入门
查看>>
Leetcode C++《热题 Hot 100-46》739.每日温度
查看>>
Leetcode C++《热题 Hot 100-47》236.二叉树的最近公共祖先
查看>>
Leetcode C++《热题 Hot 100-48》406.根据身高重建队列
查看>>