|
|
|
|
移动端

3.4 ArrayList类的实现

《数据结构与算法分析:Java语言描述(原书第3版)》第3章表、栈和队列,本章讨论最简单和最基本的三种数据结构。实际上, 每一个有意义的程序都将显式地至少使用一种这样的数据结构, 而栈则在程序中总是要被间接地用到, 不管我们在程序中是否做了声明。本节为大家介绍ArrayList类的实现。

作者:冯舜玺/陈越 译来源:机械工业出版社|2016-04-13 12:10

3.4 ArrayList类的实现

在这一节, 我们提供便于使用的ArrayList泛型类的实现。为避免与类库中的类相混, 这里将把我们的类叫作MyArrayList。我们不提供MyCollection或MyList接口; MyArrayList是独立的。在考查MyArrayList代码(接近100行)之前, 先概括主要的细节。

1. MyArrayList将保持基础数组, 数组的容量, 以及存储在MyArrayList中的当前项数。67

2. MyArrayList将提供一种机制以改变基础数组的容量。通过获得一个新数组, 将老数组拷贝到新数组中来改变数组的容量, 允许虚拟机回收老数组。

3. MyArrayList将提供get和set的实现。

4. MyArrayList将提供基本的例程, 如size、 isEmpty和clear, 它们是典型的单行程序; 还提供remove, 以及两种不同版本的add。如果数组的大小和容量相同, 那么这两个add例程将增加容量。

5. MyArrayList将提供一个实现Iterator接口的类。这个类将存储迭代序列中的下一项的下标, 并提供next、 hasNext和remove等方法的实现。MyArrayList的迭代器方法直接返回实现Iterator接口的该类的新构造的实例。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Java (JDK 6)学习笔记

Java学习笔记在JavaWorld技术论坛(http://www.javaworld.com.tw/)和作者的网站(http://caterpillar.onlyfun.net/Gossip/)提供免费下载...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊