在数组队列之前,回顾已经实现的数组这一数据结构。
数组的优点和缺点?
优点:
访问速度是所有数据结构中最快的一种。
缺点:
大小固定,如果要存储的数据个数不确定的时候,会发生以下几种情况:
1.数组空间不够,导致越界异常发生
2.如果空间太大了,数据不够,就会浪费内存空间
插入、删除数据,的操作非常麻烦。
为了克服数组的这些缺点,引入一种数据结构——数组队列。数组队列特点非常鲜明,类似于日常生活中的排队机制,遵循"先进先出”的原则。
2.数组队列的实现原理:
数组的大小是根据你要添加的数据来决定的。可以根据添加、删除数据的个数,来创建新的数组。数组名中存储的是数组对象在堆内存空间的首地址。新数组名中存储了新数组对象的首地址。把这个首地址赋给原来数组名,从而实现添加、删除等等操作。而原来的数组对象,基于JVM(java虚拟机)的垃圾回收机制,会销毁对象,释放内存空间。
3.数组队列的实现:
数组队列:定义类,封装对数组的操作。
ADT的实现如下:
package ops.array_list;
/**
* 自定义数组队列类
*
* @param <E>声明数组队列支持泛型
*/
public class MyArrayList<E> {
/**
* 声明学生类型的数组名属性
*/
pri