作品简介

《Scala集合技术手册》是一本全面介绍Scala集合框架的图书,它基于最新的Scala 2.11编写,深入全面地介绍了Scala集合框架的集合类和方法,通过图例、代码示例、表格等多种方式多方位地介绍集合类的方法和实现,并且对相关的类型的性能进行分析和比较,总结了各个集合类的特点,帮助读者快速地掌握Scala集合框架,并且可以作为日常Scala开发的参考书。《Scala集合技术手册》适合架构师、软件开发工程师、测试人员以及其他对Scala集合感兴趣的相关人员阅读。

晁岳攀,现任Comcast VIPER部门项目经理。16年的软件开发经验,先后在清华同方、Motorola等公司从事智能建筑、视频服务器等系统的开发工作,用过多年的高性能软件架构设计和开发经验。

作品目录

  • 推荐序
  • 第1章 Scala集合库简介
  • Scala编程语言
  • Scala集合
  • 谁应该阅读此书
  • 为什么写这本书
  • 印刷体变化
  • 内容概要
  • 第2章 Traversable
  • 初始化Traversable对象
  • 集合的静态类型和类型擦除
  • 对Traversable实例中每个元素执行操作(foreach)
  • 平展一个Traversable实例
  • 转置Traversable集合(transpose)
  • unzip一个Traversable
  • 连接两个Traversable到一个新的Traversable
  • 连接多个Traversable对象到一个新的Traversable
  • 利用偏函数筛选元素
  • 对所有的元素应用一个函数,并将结果放入一个新的Traversable对象中
  • 利用scan计算Traversable元素的阶乘
  • 使用指定的函数折叠Traversable的元素
  • 判断一个Traversable非空
  • 得到Traversable对象的特定的元素
  • 得到Traversable对象的尾部
  • 选择Traversable的一段子集
  • 选取Traversable对象的前N个元素
  • 跳过开头的前N个元素,选择剩余的元素
  • 根据条件筛选元素
  • 给Traversable对象的元素分组
  • 检查Traversable对象中的元素是否满足条件
  • 统计满足断言的元素个数
  • 归约操作
  • 在Traversable对象上调用聚合函数
  • 基于Traversable对象生成字符串
  • 集合类型转换
  • 复制元素到一个数组
  • 返回一个Traversable对象的视图view
  • 得到Traversable对象的底层实现
  • 使用一个相同的元素填充元素
  • 在某个值域上生成指定间隔的队列
  • tabulate
  • 生成空的Traversable对象
  • 得到Traversable对象的串行对象和并行对象
  • 第3章 Iterable
  • 将Iterable对象分组
  • 以滑动窗口的方式分组Iterable对象
  • zip两个集合
  • zipAll两个长度不同的集合
  • 使用本身的索引zip一个Iterable集合
  • 检查两个Iterables是否包含相同的元素
  • 得到尾部的N个元素
  • 去掉尾部的N个元素
  • 第4章 Seq
  • 得到序列的索引集合
  • 序列的长度
  • 得到指定索引的元素
  • 寻找指定元素的索引
  • 寻找满足条件的元素索引
  • 寻找指定的子序列
  • 寻找满足条件的子序列的长度
  • 增加元素到序列中
  • 替换序列中的元素
  • 更新指定位置的索引
  • 排序
  • 反转一个序列
  • 序列是否包含某个前缀或者后缀
  • 序列是否包含某子序列
  • 检查两个序列对应的元素是否满足断言
  • 集合操作
  • 去掉重复的元素
  • 得到元素的各种排列
  • 得到序列的指定长度的元素的组合
  • 将序列进行转换
  • 偏函数的应用
  • IndexedSeq和LinearSeq
  • Range和NumericRange
  • Vector
  • 第5章 Set
  • 检查Set集合是否包含元素
  • 增加一个元素或者一组元素到Set集合中
  • 从Set集合中去掉一个元素或一组元素
  • 二元Set集合运算
  • 更新一个可变Set集合的元素
  • 克隆Set集合
  • SortedSet
  • BitSet
  • HashSet
  • ListSet
  • LinkedHashSet
  • 第6章 Map
  • 初始化
  • 根据键值查找值
  • 包含
  • 增加新的键值对
  • 删除键
  • 根据键更新它的值
  • 得到键的集合
  • 得到值的集合
  • 遍历Map集合
  • 如何将一个可变Map集合转换成不可变Map集合
  • 新的转换函数
  • 偏函数
  • 克隆
  • 反转Map的键值对
  • 将一个Set集合转换成Map集合
  • IntMap,LongMap
  • HashMap
  • SortedMap和immutable.TreeMap
  • immutable.ListMap,mutable.ListMap
  • mutable.LinkedHashMap
  • mutable.MultiMap
  • mutable.OpenHashMap
  • mutable.WeakHashMap
  • 第7章 数组
  • 数组的初始化
  • 数组的长度
  • 更新数组
  • 连接两个数组
  • 复制数组
  • 生成等差数列
  • 填充数组
  • tabulate
  • ArrayOps
  • Searching
  • WrappedArray
  • 第8章 字符串(String和StringBuilder)
  • 字符串方法
  • 拼接字符串多次
  • 把首字母大写
  • 字符串比较
  • 字符串格式化
  • 按照换行符分割字符串
  • 正则表达式
  • 分割字符串
  • strip字符串
  • 集合方法
  • 字符串窜改(String Interpolation)
  • StringBuilder
  • 第9章 缓冲器
  • 增加元素
  • 移除元素
  • Trim、clear和clone
  • ListBuffer,ArrayBuffer
  • RingBuffer
  • 第10章 列表
  • Nil,::
  • 初始化,以及::和:::操作符
  • 模式匹配
  • MutableList
  • 使用列表实现快速排序
  • Option
  • 第11章 栈和队列
  • 栈(Stack)
  • ArrayStack
  • 不可变队列(immutable.Queue)
  • 可变队列(mutable.Queue)
  • 优先级队列(PriorityQueue)
  • 第12章 流
  • 初始化:#::和#:::
  • 流相关类
  • 记忆化(memoization)
  • 栈溢出(StackOverflowError)
  • OOM问题
  • 无限随机数流
  • 无限整数流
  • 中缀表达式和模式匹配
  • 无限流
  • 蓄水池抽样算法
  • 第13章 并行集合
  • 并行集合的类型
  • 可产生副作用的操作(Side-Effecting Operations)
  • 非结合操作(Non-Associative Operations)
  • 性能
  • 串行集合和并行集合的转换
  • 不同集合类型之间的转换
  • 并发集合配置
  • 第14章 Scala集合总结
  • 相等(Equality)
  • 性能
  • 与Java集合类的转换
  • 技巧和陷阱
  • 发布订阅类
  • for推导式(for comprehensions)
  • 其他集合库
展开全部