求助!如何用Java编写一个栈 老师让写一个Java编一个实用的栈类,要求能够处理所有类型.提示说可以用Object和包装类型处理所有的情况,但是我还是不是很明白,有哪位高手能给点建议或是部分代码帮帮忙呢?谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先是抽象类package com.sohu.blog.denns_zane.stackqueue;/** *//** * @author dennis * */public abstract class AbstractStack { public abstract Object pop(); public abstract void push(Object obj); public abstract Object topEl(); public abstract boolean isEmpty(); public abstract void clear();}/** *//** * */package com.sohu.blog.denns_zane.stackqueue;然后是实现类,采用ArrayList做实现:/** *//** * @author dennis * */public class Stack extends AbstractStack { private java.util.ArrayList pool = new java.util.ArrayList(); public Stack() { } public Stack(int n) { pool.ensureCapacity(n); } public void clear() { pool.clear(); } public boolean isEmpty() { return pool.isEmpty(); } public Object topEl() { if (isEmpty()) throw new java.util.EmptyStackException(); return pool.get(pool.size() - 1); } public Object pop() { if (isEmpty()) throw new java.util.EmptyStackException(); return pool.remove(pool.size() - 1); } public void push(Object el) { pool.add(el); } public String toString() { return pool.toString(); }} 用startsWith(pre)&endsWith(ext)过滤,关于pre的问题。。。 java Graphics对象是如何创建的。他的构造方法是protected。 JAVA新手求助一个求和问题 学习JAVA手册 求Thinking in java第三版(中文)书上例子的源代码 是不是学习JAVA的都是写JSP啊。 JDBC Driver连接sql server时,出现“Error establishing socket.”的问题。 异常的捕捉 怎么获得当天9点正的DATE类的实例? 怎样在JBuilder中开发接收邮件程序 关于string的疑问 求教正则表达式
package com.sohu.blog.denns_zane.stackqueue;/** *//**
* @author dennis
*
*/
public abstract class AbstractStack {
public abstract Object pop(); public abstract void push(Object obj); public abstract Object topEl(); public abstract boolean isEmpty(); public abstract void clear();
}
/** *//**
*
*/
package com.sohu.blog.denns_zane.stackqueue;然后是实现类,采用ArrayList做实现:
/** *//**
* @author dennis
*
*/
public class Stack extends AbstractStack {
private java.util.ArrayList pool = new java.util.ArrayList(); public Stack() {
} public Stack(int n) {
pool.ensureCapacity(n);
} public void clear() {
pool.clear();
} public boolean isEmpty() {
return pool.isEmpty();
} public Object topEl() {
if (isEmpty())
throw new java.util.EmptyStackException();
return pool.get(pool.size() - 1);
} public Object pop() {
if (isEmpty())
throw new java.util.EmptyStackException();
return pool.remove(pool.size() - 1);
} public void push(Object el) {
pool.add(el);
} public String toString() {
return pool.toString();
}
}