在介绍数组队列之前我想先介绍一下数组是为何物,数组是数据的一中存储结构,其定义为:
数组类型[] 数组名=new 数组类型[数组长度]
然而数组存储类型有许多不足就是长度一定,不能随机应变。于是我们创造队列以弥补这一缺陷。可以说队列是更加完美的数组。其实现方法如下:
package Sameple0419简单的队列;
/**
* 新建一个学生类
* @author Administrator
*
*/
public class Student {
private String name;
private int score;
public Student(String name ,int score){
this.name=name;
this.score=score;
}
public void show(){
System.out.println("姓名"+name+"学分"+score);
}
}
定义队列可以自动添加的方法
public class sameple0401 implements NetJavaList{
/**
* 向队列中加入一个学生对象
* @author student
*/
private Student[] scr=new Student[0];
public void add(Student stu){
//新建一个数组
Student[] desk=new Student[scr.length+1];
//将要加入的元素加在新数组的最后一个位置
desk[scr.length]=stu;
//用for循环把原来数组里的对象copy到新数组里
for(int i=0;i<scr.length;i++){
desk[i]=scr[i];
}
scr=desk;
}
/**
* 取得队列中指定位置的一个对象
* @param index
* @return 一个学生对象
*/
public Student get(int index){
Student st=scr[index];
return st;
}
/**
* 得到数列的长度,即数列中元素的个数
* @return 数组中元素的个数
*/
public int size(){
return scr.length;
}
}
测试:
public class test {
/**
* 程序入口
* @param args
*/
public static void main(String[] args) {
//创建一个数列对象
NetJavaList njl=new sameple0401();
for(int i=0;i<5;i++){
//实例化Student类
Student st=new Student("name"+i,i+10);
//加入队列
njl.add(st);
}
//打印队列
printStudent(njl);
}
/*打印出队列中每个学生的信息*/
public static void printStudent(NetJavaList sl){
System.out.println(sl.size()+"个学生的信息如下:");
for(int i=0;i<sl.size();i++){
Student st=sl.get(i);
st.show();
}
}
}
程序输出结果:5个学生的信息如下:
小结:本博客用数组实现其队列的添加方法。其插入、删除方法与此类似在此不作赘述。