本节书摘来华章计算机《数据结构与抽象:Java语言描述(原书第4版)》一书中的第1章 ,第1.1节,[美]弗兰克M.卡拉诺(Frank M. Carrano)蒂莫西M.亨利(Timothy M. Henry) 著 罗得岛大学 新英格兰理工学院 辛运帏饶一梅译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
第2章
Data Structures and Abstractions with Java, Fourth Edition
使用数组实现包
先修章节:序言、第1章。
目标
学习完本章后,应该能够:
使用固定大小的数组或可动态扩展的数组实现ADT包。
讨论提出的两种实现的优缺点。
你已经见过多个在程序中如何使用ADT包的示例。本章提出两种不同的方法(每个都涉及数组)在Java中实现一个包。当使用数组来组织数据时,这样的实现称为基于数组的(array based)。下一章将看到一种完全不同的方法。
我们先使用普通的Java数组来表示包中的项。采用这种实现方式,包可能变为满的,就好像食品杂货袋一样。然后,我们提出另一种不受这个问题困扰的实现方式。对于第二种实现,当你用完数组中的所有空间时,可以将数据移到一个更大的数组中。结果是,有一个明显扩大了的数组来满足你的需求。所以,我们可以有一个永远也不满的包。