《数据结构与抽象:Java语言描述(原书第4版)》一本章小结
发布日期:2021-08-30 16:00:24
浏览次数:10
分类:技术文章
本文共 878 字,大约阅读时间需要 2 分钟。
本节书摘来华章计算机《数据结构与抽象:Java语言描述(原书第4版)》一书中的第2章 ,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timothy M. Henry) 著 罗得岛大学 新英格兰理工学院 辛运帏 饶一梅 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
本章小结
- 可以使用Java数组来实现ADT包,这相对简单,但其他的实现也是可以的。
- 在数组最后一项的后面添加一项,不会影响已有项的位置。类似地,从数组中删除最后的项也不会影响已有项的位置。
- 因为包不维护项的次序,所以删除一项不需要将后续的所有数组项前移一个位置。相反,可以用数组中最后一项来替换你想删除的项,然后将最后一项替换为null。
- 在其他方法之前标出和实现类的中心或核心方法,是一个好的策略,当你预料到这个类很长且复杂时。为其余的方法使用存根。
- 在开发的每个阶段都要测试类,特别是在添加了重要的方法后。
- 使用固定大小的数组可能得到一个满包。
- 调整数组大小,使得它看上去能改变大小。为此,分配一个新数组,从原始数组中将项复制到数组中,使用原来的变量指向新数组。
- 调整数组大小能让你实现集合,其内容个数仅受计算机内存大小的限制。你应该编写安全可靠的程序。例如,ADT包的实现,在使用之前检查包是否完全初始化,以及它的容量不会超出给定的限度。
程序设计技巧
- 当定义一个类时,实现并测试一组核心方法。从添加到对象集合中的方法和已实现的方法入手。
- 类不应该返回指向私有数据域的数组的引用。
- 不要等到完全实现了一个ADT后才测试它。写存根,它是所需方法的不完整定义,开发过程中可以更早地开始测试。
- 即使可能已经写了方法的一个正确定义,但如果你想到一个更好的实现,也要毫不犹豫地修改它。肯定要再次测试方法!
- 当增大数组的大小时,将其中的项复制到更大的数组中。应该充分扩展数组,以减小复制的代价带来的影响。通用的方法是倍增数组的大小。
- 实现了声明ADT操作的单一接口的类,应该将定义在接口中的方法声明为公有方法。但是,类还可以定义私有方法和保护方法。
转载地址:https://blog.csdn.net/weixin_34038652/article/details/90535911 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年03月10日 07时52分59秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java变量怎么变常量_Java的常量与变量是什么?怎么学习呀?
2019-04-21
java开发招聘试题_客户化开发招聘试题-Java开发.doc
2019-04-21
java jdk win10 1335_win10下安装java jdk,tomcat
2019-04-21
php中的变量名称用什么表示,PHP变量,方法,类等名称中的有效字符是什么?
2019-04-21
solr比mysql的优势_Solr与Elasticsearch的优缺点比较总结和归纳
2019-04-21
华为博士招聘上机考试题目_牛客网-华为-2020届校园招聘上机考试-3
2019-04-21
python中for可以做变量名吗_Python中使用动态变量名的方法
2019-04-21
mysql 日期转换天数_MySQL 日期操作 增减天数、时间转换、时间戳
2019-04-21
java对象去重复_JAVA中List对象去除重复值的方法
2019-04-21
java bss_[转] .bss段和.data段的区别
2019-04-21
java上传图片损坏_大神求助 上传图片后 图片损坏
2019-04-21
java socket唯一标识符_Java Socket编程之常识网络基础知识
2019-04-21
java给xyz大小排序_java递归实现string xyz排序
2019-04-21
arctime必须要java_Arctime使用教程 Arctime常见问题解答
2019-04-21
mysql 自适应字段宽度_box-sizing解决自适应布局容器宽度问题
2019-04-21