什么是栈结构?
当我们在使用java编程时,JVM内存结构就是栈结构。
栈结构中的数据排列结构是怎样的?
依然是线型结构,排列无序 是没有下标的 。
数据如何 存入栈中 和 怎样从栈中出来
采用先进后出的方式进行数据管理。
**栈顶 是数据尾。
栈的底层实现依靠 ArrayList实现。
下面总结一下栈的实现思路:
ArrayList结构请看上一篇文章。
首先声明个ArrayList。
private ArrayList data;
//接着声明两个构造方法,将ArrayLIst结构封装成 ArrayStack结构
public ArrayStack(){
//无参构造方法
data=new ArrayList();
}
public ArrayStack(int capacity){
//有参构造方法
data=new ArrayList(capacity);
}
public interface stack<E> {
/**
*
* 获取栈中元素的个数
* @return 栈中的元素个数
*/
public int getSize();
//获取栈中的数据个数。
return data.getSize();
//判断当前栈是否为空 return是否为空布尔值
public boolean isEmpty();
return data.isEmpty();
//进栈一个元素e @param e 即将进栈的元素 /因为栈结构是先进后出的,所以要将数据添加到尾部
public void push(E e);
data.addLast(e);
//出栈一个元素 @return 当前出栈的栈顶元素 出栈 就是删除ArrayList结构中的最前一个元素
public E pop();
return data.removeFirst();
//获取当前栈顶元素 @return e 栈顶元素 就是最后一个元素
public E peek();
return data.getLast();
//清除当前栈中元素
public void clear();
data.clear();
public boolean equals(Object obj);//重写equals方法 调用ArrayList 当中equals方法即可
return data.equals(obj);
纯手打,没有经过测试如有不对之处欢迎批评指正。