【JAVA】写一个类,实现栈这种数据结构,要求底层数据使用ArrayList存储。

JAVA初学者向大侠们请教了,希望JAVA高手帮忙做一下,跪谢了~~~

实现了栈的基本功能.写的比较仓促,没加安全性的检查.

import java.util.ArrayList;

public class Stack {
private ArrayList stack;
public Stack()
{
stack = new ArrayList();
}
public void clear()
{
stack.clear();
}
public int getTop()
{
int temp = (Integer)stack.get(stack.size()-1);
return temp;
}
public void push(int ele)
{
stack.add(ele);
}
public int pop()
{
int temp = (Integer)stack.get(stack.size()-1);
stack.remove(stack.size()-1);
return temp;
}
public int getSize()
{
return stack.size();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Stack test = new Stack();
test.push(5);
test.push(6);
System.out.println(test.pop());
System.out.println(test.getTop());
System.out.println(test.pop());
test.clear();
System.out.println(test.getSize());
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-17
栈的特点的就是后进先出,那么你就linkedList,如果要添加一个元素,就把他存到最后一个位置,要取一个元素,也从最后开始取就可以实现了,只有linkedList才有存,取,删最后一个元素这个方法,所以要要用linkedList
代码如下:

public class StudyTest {
private LinkedList<String> list = new LinkedList<String>();

public String get() {
return list.getLast();
}
public void add(String str) {
this.list.addLast(str);
}
public void remove(){
this.list.removeLast();
}
}
第2个回答  2009-07-17
栈肯定用LinkedList比较好。
这是thinking in java 一书中的方法。
import java.util.*;
public class StudyL{
private LinkedList list = new LinkedList();
public void push(Object v){list.addFirst(v);}
public Object top(){return list.getFirst();}
public Object pop(){return list.removeFirst();}
第3个回答  2009-07-17
既然是底层实现,那我们就没必要在乎低层用的到底是什么数据结构了,可以是ArrayList,linkedList甚至是数组.当然是在不考虑效率的前提下
相似回答