博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Chapter13
阅读量:5088 次
发布时间:2019-06-13

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

package scala /**   * Created by EX-CHENZECHAO001 on 2018-04-04.   */ class Chapter13 {
// 13 集合 // 所有的集合都扩展自Iterable特质 // 集合有三大类,分别为序列、集和映射 // 对于几乎所有集合类,Scala都同时提供了可变和不可变的版本 // Scala列表要么是空,要么拥有一头一尾,其中尾部本身又是一个列表 // 集是无先后次序的集合 // 用LinkedHashSet来保留插入顺序,或都用SortSet来按顺序进行迭代。 // +将元素添加到无先后次序的集合中;+:和:+向前和向后追加到序列;++将两个集合串接在一起;-和--移除元素 // Iterable和Seq特质有数十个用于常见操作的方法。在编写循环前先看这些方法是否可以满足需求 // 映射、折叠和拉链操作是很有用的技巧,用来将函数或操作应用到集合中的元素 } object Chapter13 {
// 13.1 主要的集合特质 // Iterable 批的是那些能生成用来访问集合中所有元素的Iterator的集合 // 这是遍历一个集合最基本的方式 // Seq是一个有先后次序的值的序列,比如数组或列表.IndexedSeq允许我们通过整型的下标快速地访问任意元素. // Set是一组没有先后次序的值.在SortedSet中,元素以某种排过序的顺序被访问 // Map是一组(键,值)对偶.SortedMap按照键的排序访问其中的实体. // Scala集合的继承层级与Java很相似,同时有一些不错的改进 // 映射隶属于同一个继承而不是一个单独的层级关系 // IndexedSeq是数组的超类型,但不是列表的超类型,以便于区分 // 每个Scala集合特质或类都有一个带有apply方法的伴生对象,这个apply方法可以用来构建该集合的实例 // 13.2 可变和不可变集合 // Scala同时支持可变的和不可变的集合.不可变的集合从不改变,因此你可以安全地共享其引用,甚至是在一个多线程的应用程序当中也没问题. // scala.collection.mutable.Map和scala.collection.immutable.Map有一个共有的超类型scala.collection.Map // Scala优先采用不可变集合.scala.collection包中的伴生对象产出对象产出不可变的集合. // 默认被引入的scala包和Predef对象里都指向不可变特质的类型另名List,Set和Map.Predef.Map和scala.collection.immutable.Map是一回事 // 计算某个整数中所有出现过的数字的集 def digits(n: Int): Set[Int] = {
if(n < 0) {
digits(-n) }else{
if(n < 10){
Set(n) }else{
digits(n / 10) + (n % 10) } } } // 13.3 序列 // Vector是ArrayBuffer的不可变版本:一个带下标的序列,支持快速的随机访问。向量是以树形结构的形式实现的,每个节点可以不超过32个子节点。 // 对于一个有100W个元素的向量而言,我们只需要四层节点.访问这样的一个列表中的某个元素只需4跳,而在链表中,同样的操作平均需要500 000跳 // Range表示一个整数序列,Range对象并不存储所有值而只是起始值、结束值和增值,可用to和until方法来构造Range对象 }

转载于:https://www.cnblogs.com/chenzechao/p/8718627.html

你可能感兴趣的文章
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>