基本信息
文件名称:JAVA语言程序设计:泛型.ppt
文件大小:308 KB
总页数:10 页
更新时间:2025-03-31
总字数:约5.75千字
文档摘要

泛型练习利用Java实现一个数据结构中学过的栈MyStack,MyStack用来存储int型数据。练习publicclassMyStack{ privateint[]data; privateintnumber; publicMyStack(){ this(10); } publicMyStack(inti){ data=newint[i]; number=0; } ……练习 publicvoidpush(inti){ if(numberdata.length){ data[number]=i; number++; } } publicintpop(){ assert(number0); number--; returndata[number]; } publicbooleanisEmpty(){ return(number==0)?true:false; }}练习 publicstaticvoidmain(String[]args){ MyStacks=newMyStack(); s.push(1); s.push(2); s.push(3); while(!s.isEmpty()){ System.out.println(first:+s.pop()); } s.push(100); s.clear(); while(!s.isEmpty()){ System.out.println(second:+s.pop()); } }first:3first:2first:1如果我们要编写一个存放Cirlce类对象的栈,MyStack类需要做哪些改变?练习publicclassMyCirlceStack{ privateCirlce[]data; privateintnumber; publicMyStack(){ this(10); } publicMyStack(inti){ data=newCirlce[i]; number=0; } ……练习 publicvoidpush(Cirlcei){ if(numberdata.length){ data[number]=i; number++; } } publicCirlcepop(){ assert(number0); number--; returndata[number]; } publicbooleanisEmpty(){ return(number==0)?true:false; }}练习 publicstaticvoidmain(String[]args){ MyCirlceStacks=newMyCirlceStack(); s.push(newCirlce(1)); s.push(newCirlce(2)); s.push(newCirlce(3)); while(!s.isEmpty()){ System.out.println(first:+s.pop()); } s.push(newCirlce(100)); s.clear(); while(!s.isEmpty()){ System.out.println(second:+s.pop()); } }如果我们要编写一个存放其他类对象的栈怎么办,重复编写类?使用ObjectpublicclassMyCirlceStack{ privateObject[]data; privateintnumber; publicMyStack(){ this(10); } publicMyStack(inti){ data=newObject[i]; number=0; } ……使用Object publicvoidpush(Objecti){ if(numberdata.length){ data[number]=i; number++; } } publicObjectpop(){ assert(number0); number--; returndata