《数据结构与抽象:Java语言描述(原书第4版)》一本章小结

本文探讨了如何使用Java数组实现ADT包的基本操作,包括添加、删除元素等,并介绍了在开发过程中逐步测试和调整数组大小的重要性。

本节书摘来华章计算机《数据结构与抽象:Java语言描述(原书第4版)》一书中的第2章 ,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timothy M. Henry) 著 罗得岛大学  新英格兰理工学院 辛运帏 饶一梅 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

本章小结

  • 可以使用Java数组来实现ADT包,这相对简单,但其他的实现也是可以的。
  • 在数组最后一项的后面添加一项,不会影响已有项的位置。类似地,从数组中删除最后的项也不会影响已有项的位置。
  • 因为包不维护项的次序,所以删除一项不需要将后续的所有数组项前移一个位置。相反,可以用数组中最后一项来替换你想删除的项,然后将最后一项替换为null。
  • 在其他方法之前标出和实现类的中心或核心方法,是一个好的策略,当你预料到这个类很长且复杂时。为其余的方法使用存根。
  • 在开发的每个阶段都要测试类,特别是在添加了重要的方法后。
  • 使用固定大小的数组可能得到一个满包。
  • 调整数组大小,使得它看上去能改变大小。为此,分配一个新数组,从原始数组中将项复制到数组中,使用原来的变量指向新数组。
  • 调整数组大小能让你实现集合,其内容个数仅受计算机内存大小的限制。
    你应该编写安全可靠的程序。例如,ADT包的实现,在使用之前检查包是否完全初始化,以及它的容量不会超出给定的限度。

程序设计技巧

  • 当定义一个类时,实现并测试一组核心方法。从添加到对象集合中的方法和已实现的方法入手。
  • 类不应该返回指向私有数据域的数组的引用。
  • 不要等到完全实现了一个ADT后才测试它。写存根,它是所需方法的不完整定义,开发过程中可以更早地开始测试。
  • 即使可能已经写了方法的一个正确定义,但如果你想到一个更好的实现,也要毫不犹豫地修改它。肯定要再次测试方法!
  • 当增大数组的大小时,将其中的项复制到更大的数组中。应该充分扩展数组,以减小复制的代价带来的影响。通用的方法是倍增数组的大小。
  • 实现了声明ADT操作的单一接口的类,应该将定义在接口中的方法声明为公有方法。但是,类还可以定义私有方法和保护方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值