• Java函数式编程
21年品牌 40万+商家 超1.5亿件商品

Java函数式编程

27 2.3折 119 九五品

仅1件

北京通州
认证卖家担保交易快速发货售后保障

作者[法] Pierre-Yves,Saumont(皮埃尔-伊夫

出版社电子工业出版社

ISBN9787121330216

出版时间2017-11

版次1

装帧平装

开本16开

纸张胶版纸

页数516页

字数99999千字

定价119元

上书时间2024-04-11

灵感飞驰

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
商品描述
基本信息
书名:Java函数式编程
定价:119.00元
作者:[法] Pierre-Yves,Saumont(皮埃尔-伊夫斯 索蒙特) 著,高清华 译
出版社:电子工业出版社
出版日期:2017-11-01
ISBN:9787121330216
字数:578000
页码:516
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐

内容提要

目录
目录章 什么是函数式编程............................. 1 1.1 函数式编程是什么 .............................................2 1.2 编写没有副作用的程序 .....................................4 1.3 引用透明如何让程序更安全 .............................6 1.4 函数式编程的优势 .............................................7 1.5 用代换模型来推断程序 .....................................8 1.6 将函数式原则应用于一个简单的例子 .............9 1.7 抽象到极致 .15 1.8 总结 .............16第2章 在Java中使用函数 ............................17 2.1 什么是函数 .18 2.1.1 现实世界里的函数 ...............................18 2.2 Java中的函数 ....................................................24 2.2.1 函数式的方法 .......................................24 2.2.2 Java的函数式接口与匿名类 ...............30 2.2.3 复合函数 ...............................................31 2.2.4 多态函数 ...............................................32 2.2.5 通过 lambda简化代码 ..........................33 2.3 高级函数特性 ...................................................36 2.3.1 多参函数怎么样 ...................................36 2.3.2 应用柯里化函数 ...................................37 2.3.3 高阶函数 ...............................................38 2.3.4 多态高阶函数 .......................................39 2.3.5 使用匿名函数 .......................................43 2.3.6 局部函数 ...............................................45 2.3.7 闭包 .46 2.3.8 部分函数应用和自动柯里化 ...............48 2.3.9 交换部分应用函数的参数 ...................53 2.3.10 递归函数 .............................................54 2.3.11 恒等函数 ..............................................56 2.4 Java 8的函数式接口 .........................................58 2.5 调试lambda ..59 2.6 总结 .............62第3章 让Java更加函数式 ............................63 3.1 使标准控制结构具有函数式风格 ...................64 3.2 抽象控制结构 ...................................................65 3.2.1 清理代码 ...............................................69 3.2.2 if … else的另一种方式 ........................73 3.3 抽象迭代 .....78 3.3.1 使用映射抽象列表操作 .......................79 3.3.2 创建列表 ...............................................80 3.3.3 使用 head和 tail操作...........................81 3.3.4 函数式地添加列表元素 .......................83 3.3.5 化简和折叠列表 ...................................83 3.3.6 复合映射和映射复合 ...........................90 3.3.7 对列表应用作用 ...................................91 3.3.8 处理函数式的输出 ...............................92 3.3.9 构建反递归列表 ...................................93 3.4 使用正确的类型 ...............................................97 3.4.1 标准类型的问题 ...................................97 3.4.2 定义值类型 ...........................................99 3.4.3 值类型的未来 .....................................103 3.5 总结 ...........103第4章 递归、反递归和记忆化 ................... 104 4.1 理解反递归和递归 .........................................105 4.1.1 探讨反递归和递归的加法例子 .........105 4.1.2 在 Java中实现递归 ............................106 4.1.3 使用尾调用消除 .................................107 4.1.4 使用尾递归方法和函数 .....................107 4.1.5 抽象递归 .............................................108 4.1.6 为基于栈的递归方法使用一个直接替代品 ...........................................112 4.2 使用递归函数 .................................................115 4.2.1 使用局部定义的函数 .........................115 4.2.2 使函数成为尾递归 .............................116 4.2.3 双递归函数:斐波那契数列示例 .....117 4.2.4 让列表的方法变成栈安全的递归 .....120 4.3 复合大量函数 .................................................123 4.4 使用记忆化 .....................................................127 4.4.1 命令式编程中的记忆化 .....................127 4.4.2 递归函数的记忆化 .............................128 4.4.3 自动记忆化 .........................................130 4.5 总结 ...........136第5章 用列表处理数据 ............................. 138 5.1 如何对数据集合进行分类 .............................138 5.1.1 不同的列表类型 .................................139 5.1.2 对列表性能的相对期望 .....................140 5.1.3 时间与空间,时间与复杂度的取舍 .141 5.1.4 直接修改 .............................................142 5.1.5 持久化数据结构 .................................143 5.2 一个不可变、持久化的单链表实现 .............144 5.3 在列表操作中共享数据 .................................148 5.3.1 更多列表操作 .....................................150 5.4 使用高阶函数递归折叠列表 .........................155 5.4.1 基于堆的 foldRight递归版 ................162 5.4.2 映射和过滤列表 .................................164 5.5 总结 ...........167第6章 处理可选数据 ................................ 168 6.1 空指针的问题 .................................................169 6.2 空引用的替代方案 .........................................171 6.3 Option数据类型 ..............................................174 6.3.1 从 Option中取值 ................................176 6.3.2 将函数应用于可选值 .........................178 6.3.3 复合 Option处理 ................................179 6.3.4 Option的用例 .....................................181 6.3.5 复合 Option的其他方法 ....................186 6.3.6 复合 Option和 List .............................189 6.4 Option的其他实用程序 ..................................191 6.4.1 检查是 Some还是 None .....................191 6.4.2 equals和 hashcode ..............................192 6.5 如何及何时使用Optio..................................193 6.6 总结 ...........195第7章 处理错误和异常 ............................. 197 7.1 待解决的问题 .................................................197 7.2 Either类型 ..199 7.2.1 复合 Either ...........................................200 7.3 Result类型 .203 7.3.1 为 Result类添加方法 .........................204 7.4 Result模式 .206 7.5 Result处理进阶 ...............................................213 7.5.1 应用断言 .............................................214 7.5.2 映射 Failure .........................................215 7.5.3 增加工厂方法 .....................................218 7.5.4 应用作用 .............................................220 7.5.5 Result复合进阶 ..................................222 7.6 总结 ...........226第8章 列表处理进阶 ................................ 228 8.1 length的问题 ...................................................229 8.1.1 性能问题 .............................................229 8.1.2 记忆化的优点 .....................................230 8.1.3 记忆化的缺点 .....................................230 8.1.4 实际性能 .............................................232 8.2 复合List和Result .............................................233 8.2.1 List中返回 Result的方法 ..................233 8.2.2 将 List<Result>转换为 Result<List> 235 8.3 抽象常见列表用例 .........................................238 8.3.1 压缩和解压缩列表 .............................238 8.3.2 通过索引访问元素 .............................241 8.3.3 拆分列表 .............................................244 8.3.4 搜索子列表 .........................................248 8.3.5 使用列表的其他函数 .........................249 8.4 自动并行处理列表 .........................................254 8.4.1 并非所有的计算都可以并行化 .........254 8.4.2 将列表拆分为子列表 .........................254 8.4.3 并行处理子列表 .................................256 8.5 总结 ...........258第9章 使用惰性....................................... 259 9.1 理解严格和惰性 .............................................259 9.1.1 Java是一门严格的语言 .....................260 9.1.2 严格带来的问题 .................................261 9.2 实现惰性 ...263 9.3 只有惰性才能做到的事 .................................264 9.4 为何不要用Java 8中的Stream ........................265 9.5 创建一个惰性列表数据结构 .........................266 9.5.1 记忆已计算的值 .................................268 9.5.2 对流的操作 .........................................271 9.6 惰性的真正本质 .............................................274 9.6.1 折叠流 .................................................277 9.7 处理无限流 .....................................................282 9.8 避免null引用和可变字段 ...............................285 9.9 总结 ...........2870章 用树进行更多数据处理.................. 289 10.1 二叉树 .....290 10.1.1 平衡树和非平衡树 .........................291 10.1.2 大小、高度和深度 .........................291 10.1.3 叶树 .................................................292 10.1.4 有序二叉树或二叉搜索树 .............292 10.1.5 插入顺序 .........................................293 10.1.6 树的遍历顺序 .................................294 10.2 实现二叉搜索树 ...........................................297 10.3 从树中删除元素 ...........................................303 10.4 合并任意树 ...................................................304 10.5 折叠树 .....310 10.5.1 用两个函数折叠 .............................311 10.5.2 用一个函数折叠 .............................313 10.5.3 选择哪种折叠的实现 .....................314 10.6 映射树 .....316 10.7 平衡树 .....317 10.7.1 旋转树 .............................................317 10.7.2 使用 DSW算法平衡树 ..................320 10.7.3 自动平衡树 .....................................322 10.7.4 解决正确的问题 .............................323 10.8 总结 .........324 1章 用高级树来解决真实问题............... 325 11.1 性能更好且栈安全的自平衡树 ....................326 11.1.1 树的基本结构 .................................326 11.1.2 往红黑树中插入元素 .....................331 11.2 红黑树的用例:map .....................................337 11.2.1 实现 map .........................................337 11.2.2 扩展 map .........................................340 11.2.3 使用键不可比较的 map .................341 11.3 实现函数式优先队列 ....................................344 11.3.1 优先队列访问协议 .........................344 11.3.2 优先队列使用案例 .........................344 11.3.3 实现需求 .........................................345 11.3.4 左倾堆数据结构 .............................345 11.3.5 实现左倾堆 .....................................346 11.3.6 实现像队列一样的接口 .................351 11.4 元素不可比较的优先队列 ............................352 11.5 总结 ..........3582章 用函数式的方式处理状态改变 ........ 359 12.1 一个函数式的随机数发生器 .......................360 12.1.1 随机数发生器接口 .........................361 12.1.2 实现随机数发生器 .........................362 12.2 处理状态的通用API .....................................366 12.2.1 使用状态操作 .................................367 12.2.2 复合状态操作 .................................368 12.2.3 递归状态操作 .................................370 12.3 通用状态处理 ...............................................372 12.3.1 状态模式 .........................................374 12.3.2 构建一个状态机 .............................375 12.3.3 何时使用状态和状态机 .................381 12.4 总结 .........381 3章 函数式输入/输出.......................... 382 13.1 在上下文中应用作用 ...................................383 13.1.1 作用是什么 .....................................384 13.1.2 实现作用 .....

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP