泛型顾名思义就是泛指所有类型,java是一个强类型语言,你给他定义什么类型那他就会创建什么类型的地址空间。嗯。。看起来没啥问题 但是比如对于栈和队列来说 你要入什么类型的栈难道还要再去创建一个栈吗?所以就可以用泛型加在栈或队列上。(不止这个用法)
public class Queue<all> {
private int p=0;
private int s=0;
private all a[]=(all[])new Object[10];
public void set(all value) {
if(p-s==a.length) {
//进行队列扩容
all b[]=(all[])new Object[a.length*2];
for(int i=s;i<p;i++) {
b[i%b.length]=a[i%a.length];
}
a=b;
}
a[p%a.length]=value;
p++;
}
public void get() {
if(p==s) {
return;
}
System.out.println(a[s%a.length]);
s++;
}
}
主方法:
public class Demo {
public static void main(String []args) {
Queue iq=new Queue();
iq.set(5);
iq.get();
iq.set("134");
iq.get();
}