- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Scala Collections 提示和技巧
Scala Collections 提示和技巧
目录
1 图例Legend
2 组合 Composition
3 副作用 Side effects
4 Sequence
4.1 创建 Creation
4.2 Length
4.2.1 对于数组,优先使用 length 而不是 size。
4.2.2 不要对检查 empty 的属性取反
4.2.3 不要通过计算 length 来检查 empty
4.2.4 不要直接使用 length 来比较
4.3 等价 Equality
4.3.1 不要使用较==数组
4.3.2 不要检查不同分类(categories)的集合的相等性
4.3.3 不要使用 sameElements 来比较有序集合
4.3.4 不要手工检查相等性
4.4 Indexing
4.4.1 不要使用 index 得到第一个元素
4.4.2 不要使用 index 得到最后一个元素
4.4.3 不要显式检查 index 的边界
4.4.4 不要仿造 headOption
4.4.5 不要仿造 lastOption
4.4.6 小心 indexOf 和 lastIndexOf 参数类型
4.4.7 不要构造 index 的Range
4.4.8 不要手工使用 index 来 zip 集合
4.5 检查元素的存在 Existence
4.5.1 不要用断言 equality predicate 来检查存在
4.5.2 小心 contains 参数类型
4.5.3 不要用断言 inequality predicate 来检查不存在
4.5.4 不要统计元素的数量来检查存在
4.5.5 不要借助 filter 来检查存在
4.6 Filtering
4.6.1 不要对断言取反
4.6.2 不要借助 filter 统计元素数量
4.6.3 不要借助 filter 找到元素的第一个值
4.7 Sorting
4.7.1 不要手工按一个属性排序
4.7.2 不要手工按照 identity 排序
4.7.3 一步完成排序反转
4.8 Reduction
4.8.1 不要手工计算 sum
4.8.2 不要手工计算 product
4.8.3 不要手工搜索最小值和最大值
4.8.4 不要仿造 forall
4.8.5 不要仿造 exists
4.9 Rewriting
4.9.1 合并连续的 filter 调用
4.9.2 合并连续的 map 调用
4.9.3 filter 完后再排序
4.9.4 在调用 map 前不要显式调用反转 reverse
4.9.5 不要显示反转得到迭代器
4.9.6 不要通过将集合转成 Set 得到不重复集合
4.9.7 不要仿造 slice
4.9.8 不要仿造 splitAt
4.9.9 不要仿造 span
4.9.10 不要仿造 partition
4.9.11 不要仿造 takeRight
4.9.12 不要仿造 flatten
4.9.13 不要仿造 flatMap
4.9.14 不需要结果时不要用 map
4.9.15 不要产生临时集合
4.9.16 使用赋值操作符
5 Set
5.1 不要使用 sameElements 比较未排序的集合
5.2 不要手工计算交集
5.3 不要手工计算 diff
6 Option
6.1 Value
6.1.1 不要使用 None 和 Option
您可能关注的文档
- RO基本知识与系统.pdf
- RN8302B用户手册_v3.2.pdf
- RO系统特殊设计.pdf
- RPS系统规范及使用说明.pdf
- RPT除雾器资料.pdf
- RRCA培训案例.pdf
- RS-KT-N01学习型ModBus空调调温器使用说明.pdf
- RSA6120B手册.pdf
- Rsoft指导.pdf
- RSS2000-产品培训.pdf
- 英语人教PEP版八年级(上册)Unit4+writing+写作.pptx
- 人美版美术四年级(上册)8 笔的世界 课件 (1).pptx
- 人美版美术七年级(上册)龙的制作.pptx
- 英语人教PEP版六年级(上册)Unit 2 第一课时.pptx
- 数学苏教版三年级(上册)3.3 长方形和正方形周长的计算 苏教版(共12张PPT).pptx
- 音乐人教版八年级(上册)青春舞曲 课件2.pptx
- 音乐人教版四年级(上册) 第一单元 音乐知识 附点四分音符|人教版.pptx
- 英语人教PEP版四年级(上册)Unit 6 Part B let's learn 1.pptx
- 道德与法治人教版二年级(上册)课件-3.11大家排好队部编版(共18张PPT).pptx
- 人美版美术七年级(上册)《黄山天下奇》课件1.pptx
最近下载
- SX-22163-QR525供应商停止供货通知.docx VIP
- 2024年新大象版四年级上册科学全册知识点(炫彩版).doc
- 青岛市城市介绍旅游攻略实用PPT讲授课件.pptx
- 新人教pep三年级上册Unit2 Different families PartA talk &learn 课件.ppt
- 【核心素养】4.1 陆地与海洋 第二课时 课件(共49张PPT) 七年级地理上学期商务星球版(2024).pptx VIP
- 中华商业文化 教案.docx
- KTM 2019款 390 DUKE 摩托车 中文用户保养手册 使用说明书.doc
- OWC11控件的安装.doc
- 【部编人教版】三年级道德与法治上册全册课件.pptx
- 合作协议(技师).docx VIP
文档评论(0)