图书介绍

Scala编程实战2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Scala编程实战
  • (美)Alvin Alexander著;马博文,张锦文,任晓君译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111526865
  • 出版时间:2016
  • 标注页数:644页
  • 文件大小:60MB
  • 文件页数:661页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Scala编程实战PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

前言1

第1章 字符串11

1.1 测试字符串的相等性14

1.2 创建多个字符串16

1.3 分隔字符串17

1.4 字符串中的变量代换19

1.5 挨个处理字符串中的字符23

1.6 字符串中的查找模式27

1.7 字符串中的替换模式30

1.8 抽取String中模式匹配的部分31

1.9 访问字符串中的一个字符33

1.10 在String类中添加自定义的方法34

第2章 数值39

2.1 从字符串到数值40

2.2 数值类型转换44

2.3 重载默认数值类型45

2.4 替代++和--47

2.5 浮点数的比较49

2.6 处理大数51

2.7 生成随机数53

2.8 创建一个数值区间、列表或者数组55

2.9 格式化数值和金额57

第3章 控制结构60

3.1 for和foreach循环61

3.2 在for循环中使用多个计数器67

3.3 在for循环中嵌入if语句(卫语句)69

3.4 创建for表达式(for/yield组合)70

3.5 实现break和continue72

3.6 像三元运算符一样使用if77

3.7 像switch语句一样使用匹配表达式78

3.8 一条case语句匹配多个条件83

3.9 将匹配表达式的结果赋值给变量84

3.10 访问匹配表达式缺省case的值84

3.11 在匹配表达式中使用模式匹配85

3.12 在匹配表达式中使用Case类92

3.13 给Case语句添加if表达式(卫语句)93

3.14 使用匹配表达式替换isInstanceOf94

3.15 在匹配表达式中使用List95

3.16 用try/catch匹配一个或者更多的异常97

3.17 在try/catch/finally块中使用变量前定义变量98

3.18 创建自定义控制结构100

第4章 类和属性103

4.1 创建一个主构造函数104

4.2 控制构造函数字段的可见性108

4.3 定义辅助构造函数111

4.4 定义私有的主构造函数115

4.5 设置构造函数参数的默认值116

4.6 覆写默认的访问和修改方法118

4.7 阻止生成getter和setter方法121

4.8 将代码块或者函数赋给字段123

4.9 设置未初始化的var字段类型125

4.10 在继承类时处理构造函数参数127

4.11 调用父类的构造函数129

4.12 何时使用抽象类131

4.13 在抽象基类(或者特质)里定义属性133

4.14 用Case类生成模板代码137

4.15 定义一个equals方法(对象的相等性)141

4.16 创建内部类144

第5章 方法147

5.1 控制方法作用域148

5.2 调用父类的方法152

5.3 方法参数默认值154

5.4 使用参数名157

5.5 定义一个返回多个值(Tuples)的方法159

5.6 调用getter/setter方法时不使用括号160

5.7 创建接受变参的方法162

5.8 方法的异常声明164

5.9 支持链式调用编码风格166

解决办法167

第6章 对象170

6.1 对象的强制转换171

6.2 Java.class的Scala等价类173

6.3 确定对象所属的类174

6.4 用Object启动一个应用175

6.5 用object创建单例177

6.6 用伴生类创建静态成员178

6.7 将通用代码放入包对象180

6.8 不使用new关键字创建对象实例183

6.9 在Scala中用apply方法实现工厂方法187

第7章 包和导入190

7.1 花括号风格的包记号法191

7.2 引入一个或多个成员192

7.3 在导入时重命名成员194

7.4 在引入时隐藏一个类195

7.5 使用静态导入196

7.6 在任意地方使用Import语句197

第8章 特质200

8.1 特质用作接口200

8.2 使用特质中的抽象字段和实际字段203

8.3 像抽象类一样使用特质204

8.4 简单混入特质205

8.5 通过继承来限制特质的使用范围206

8.6 限定特质只可用于指定类型的子类208

8.7 保证特质只能被添加到只有一个特定方法的类型210

8.8 为对象实例中添加特质211

8.9 像特质一样继承一个Java接口212

第9章 函数式编程214

9.1 使用函数字面量(匿名函数)215

9.2 将函数作为变量216

9.3 定义接受简单函数作为参数的方法220

9.4 更多复杂的函数222

9.5 使用闭包226

9.6 使用部分应用函数231

9.7 创建返回函数的函数232

9.8 创建部分应用函数235

9.9 一个真实的例子239

第10章 集合242

10.1 理解集合的层级结构243

10.2 选择一个集合类247

10.3 用一个集合方法解决一个问题252

10.4 理解集合的性能258

10.5 在创建集合时声明一个类型260

10.6 理解可变变量与不可变集合262

10.7 将Vector“变为”不可变序列263

10.8 把ArrayBuffer作为可变序列的第一选择265

10.9 用foreach遍历一个集合267

10.10 用for循环遍历一个集合269

10.11 使用zipWithIndex或者zip创建循环计数器272

10.12 迭代器的使用275

10.13 用for/yield实现集合间的转换276

10.14 用map实现集合的变换279

10.15 展平列表的列表与扁平化问题281

10.16 map,flatten和flatMap的组合283

10.17 用filter过滤一个集合285

10.18 从集合中提取元素序列287

10.19 序列的分割(groupBy、partition等)289

10.20 用reduce和fold方法遍历集合291

10.21 从序列中提取不重复的元素296

10.22 合并序列集合297

10.23 用zip将两个序列集合合并为一对300

10.24 在集合上创建一个惰性视图301

10.25 利用Range创建集合305

10.26 创建使用枚举307

10.27 当需要一堆元素时使用元组308

10.28 集合排序310

10.29 通过mkString将集合转换成字符串313

第11章 列表、数组、映射、集及其他315

11.1 创建和填充列表的不同方式316

11.2 创建可变List318

11.3 为List添加元素319

11.4 从List(或者ListBuffer)中删除元素321

11.5 合并或连接列表323

11.6 使用List的懒惰版本,Stream324

11.7 创建和更新数组的不同方式326

11.8 创建大小可变的数组(ArrayBuffer)328

11.9 删除Array和ArrayBuffer的元素329

11.10 数组排序331

11.11 创建多维数组332

11.12 创建映射334

11.13 选择一种Map实现336

11.14 为可变映射添加、更新或删除元素338

11.15 为不可变映射添加、更新或删除元素340

11.16 访问映射的值342

11.17 遍历映射344

11.18 从映射中获得所有的键或者值345

11.19 反转键值346

11.20 测试映射中键/值的存在347

11.21 过滤映射348

11.22 根据键或者值对映射排序350

11.23 找到映射中最大的键或者值354

11.24 给集添加元素355

11.25 从集中删除元素357

11.26 使用可排序集359

11.27 使用队列360

11.28 使用栈362

11.29 使用Range365

第12章 文件和进程367

12.1 如何打开和读取文本文件367

12.2 写入文本文件373

12.3 读写二进制文件374

12.4 如何处理文本文件中的每个字符375

12.5 如何处理CSV文件376

12.6 将字符串伪装为文件379

12.7 使用序列化381

12.8 列出目录中的文件382

12.9 列举目录之下的子目录384

12.10 执行外部命令385

12.11 执行外部命令并使用标准输出388

12.12 处理外部命令的标准输出和标准错误输出390

12.13 构建命令管道392

12.14 重定向外部命令的标准输出和标准输入393

12.15 在进程中使用AND(&&)和OR(||)395

12.16 外部命令中处理通配符396

12.17 如何在不同目录下运行进程397

12.18 在运行命令时设置环境变量398

12.19 执行外部命令的方法索引399

第13章 ActorS和并发401

13.1 Actor简单入门403

13.2 创建构造函数有参数的actor407

13.3 Actor之间如何通信409

13.4 理解Akka Actor生命周期方法411

13.5 启动Actor414

13.6 停止Actors416

13.7 关闭Akka Actor系统421

13.8 用watch监控Actor的死亡422

13.9 Futures的简单并发425

13.10 给Actor发消息并等待回复433

13.11 用become切换不同状态434

13.12 使用并发集合436

第14章 命令行任务440

14.1 Scala REPL初体验441

14.2 往REPL中粘贴和加载代码块445

14.3 在REPL的Classpath中添加JAR文件和类448

14.4 在REPL中运行Shell命令449

14.5 用scalac命令编译,scala命令运行451

14.6 反汇编和反编译Scala代码452

14.7 寻找Scala类库457

14.8 用scaladoc生成文档458

14.9 更快的命令行编译器fsc463

14.10 将Scala作为脚本语言使用464

14.11 通过脚本访问命令行参数468

14.12 在Scala shell脚本中输入提示469

14.13 让Scala脚本运行得更快473

第15章 Web服务475

15.1 从Scala对象中创建JSON字符串475

15.2 从包含集合的类中生成JSON字符串479

15.3 从JSON字符串生成简单Scala对象484

15.4 将JSON数据解析成为对象的数组485

15.5 用Scalatra创建Web服务487

15.6 用Scalatra挂载替换XML Servlet映射490

15.7 访问Scalatra Web服务的GET参数492

15.8 用Scalatra处理POST请求数据494

15.9 创建一个简单的GET请求客户端497

15.10 向POST链接发送JSON数据501

15.11 获取URL Headers502

15.12 发送请求时设置链接的Headers503

15.13 用Play框架创建一个GET请求的Web服务504

15.14 向Play框架的web服务POST JSON数据507

第16章 数据库和持久化510

16.1 用JDBC连接MySQL511

16.2 用Spring Framework连接数据库513

16.3 连接MongoDB并且插入数据516

16.4 用insert,save或者+=把文档插入到MongoDB519

16.5 搜索一个MongoDB集合521

16.6 更新MongoDB集合中的文档525

16.7 获取MongoDB文档ID526

16.8 删除MongoDB集合中的文档527

16.9 快速浏览Slick529

第17章 与Java交互531

17.1 与Java集合的转换531

17.2 给Scala方法添加异常注解以便与Java交互536

17.3 使用@SerialVersionUID和其他注解538

17.4 使用Spring框架539

17.5 注解变长参数方法542

17.6 当Java的代码需要JavaBeans543

17.7 包装特质的实现547

第18章 简单构建工具(SBT)551

18.1 用SBT创建一个项目目录结构551

18.2 用SBT编译、运行和打包一个Scala项目555

18.3 用SBT和ScalaTest运行测试560

18.4 用SBT管理依赖562

18.5 控制所使用的可管理依赖的版本565

18.6 创建有子项目的项目567

18.7 在Eclipse中使用SBT569

18.8 生成项目API文档571

18.9 指定一个Main类运行572

18.10 使用GitHub项目作为项目依赖574

18.11 告诉SBT如何找到一个仓库(使用Resolvers)575

18.12 通过SBT堆栈跟踪解决问题576

18.13 设置SBT日志等级577

18.14 部署一个单独的、可执行的JAR文件578

18.15 发布类库581

18.16 用Build.scala取代build.sbt582

18.17 在SBT中使用Maven仓库的类库584

18.18 用Ant构建Scala项目586

第19章 类型589

19.1 创建使用泛型的类591

19.2 创建一个接收简单泛型的方法595

19.3 使用鸭子类型(结构化类型)596

19.4 让可变集合非变598

19.5 让不可变集合协变600

19.6 创建所有元素都是基本类型的集合602

19.7 给封闭模型选择性添加新行为605

19.8 用类型构建功能608

第20章 惯用法612

20.1 创建没有副作用的方法(纯函数)613

20.2 选择不可变对象620

20.3 思考“面向表达式编程”624

20.4 使用匹配表达式和模式匹配627

20.5 从代码中根除null值630

20.6 使用Option/Some/None模式634

热门推荐