scala学习第十三章 集合
来源:互联网 发布:协作机器人 知乎 编辑:程序博客网 时间:2024/06/06 17:31
scala集合架构:
scala集合有三类:,分别为序列(Seq),集(Set)和映射(Map)
scala.collection.immutable(不可变集合)
scala.collection.mutable(可变集合)
集是无先后次序的集合,不重复元素的结合
+将原书添加到无先后次序的集合中;+:和:+向前或向后追加到序列;++将两个集合串接在一起;-和--移除元素
seq是一个有先后次序的值的序列,比如数组或列表,IndexedSeq允许我们通过整型的下标快速的访问任意元素.Sorted中,元素以某种排过序的顺序被访问.
相对于Java的一些改进:
1.映射属于一个继承层级而不是一个单独的层级关系.
2.IndexSeq是数组的超类型,但不是列表的超类型,以便于区别.
scala优先采用不可变集合,
9::4::2::Nil
::是右结合的,列表将从末端开始构建
如果想要把列表中的某个节点编程列表中的最后一个节点,你不能将next引用设为Nil,而应该将它设为LinkedList.empty.也不要将它设为null,不然你在遍历该链表是会遇到空指针错误
对于列表,你可以用+:而不是::来保持与其他结合操作的一致性,但有一个例外:模式匹配(case: h::t)不认+:操作符
zip拉链操作
如果一个集合比另一个短,那么结果中的对偶数量和较短的那个结合的元素数量相同.例如:
List(5,20,9).zip(List(20,2))
将得到
List((5,10),(20,2))
#::操作很像是列表的::操作,只不过它构建出来的是一个流
并行集合:
如果并行运算修改了共享的变量,则结果无法预知.不要更像一个共享的计数器:
var count = 0for(c <- coll.par){ if (c%2 == 0) count +=1} //错误!
- scala学习第十三章 集合
- Scala 第十三章 集合
- 快学Scala习题解答—第十三章 集合
- 快学Scala习题解答第十三章---------集合
- 快学Scala习题解答—第十三章 集合
- scala学习笔记:集合
- scala学习笔记-集合
- 第十三章:集合
- 第十三章:集合
- Scala学习笔记8 - 集合
- Scala 学习(四)--- 集合
- 《快学Scala》第十三章习题解答
- Scala学习整理[第十七-十八章 集合和有状态对象]<Programming In Scala>
- Scala学习第十三弹 数组遍历和数组转换
- scala中的函数、变量、集合、对象---scala学习笔记(1)
- Scala学习笔记5 (集合 Collections)
- Scala学习笔记5 (集合 Collections)
- scala学习笔记:理解并行集合par
- 记录一些有用的网站
- ASP.Net发布到IIS中出现错误: 处理程序"PageHandlerFactory-Integrated"在其模块列表中有一个错误模块"ManagedPipelineHandler"
- 幽默趣味:程序员如同妓女
- 浅析Mysql InnoDB存储引擎事务原理
- Leetcode: Binary Search Tree Iterator
- scala学习第十三章 集合
- Kindeditor
- 五种 JSP页面跳转方法详解
- (转载)如何设计一款优秀的软件架构
- 【shell脚本练习】网卡信息和简单日志分析
- 古典小说大全
- poj S-Trees 1105 (二叉树模拟)
- perl 监控端口
- POJ 1269 Intersecting Lines(判断两直线的位置关系)