栈是一种先进后出的数据结构。入栈是指在栈的末尾添加元素,出栈在从栈顶拿出元素。顺序是先进后出。
ArrayList 是基于我自己实现的动态数组的 有需求的朋友可以看看。https://blog.youkuaiyun.com/xulinglin520/article/details/81514153
/**
*
* @author XiaoTian
* @date 2018-08-09
* @param <E>
*/
public class Stack<E> {
//动态数据
ArrayList<E> arrayList;
/**
*
* @param capacity
*/
public Stack(int capacity){
arrayList = new ArrayList<>(capacity);
}
/**
* 无参构造器
*/
public Stack() {
arrayList = new ArrayList<>();
}
/**
* 大小
* @return
*/
public int size() {
return arrayList.size();
}
/**
* 在数组末尾添加 一个元素
* @param e
*/
public void push(E e) {
arrayList.add(e);
}
/**
* 取出栈顶元素
* @return
*/
public E top() {
//直接删除栈顶元素返回 E
return arrayList.removeLast();
}
//打印(从栈顶到栈底)
@Override
public String toString() {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < size(); i++) {
buffer.append(arrayList.get(i));
if(i < size()-1) {
buffer.append("->");
}
}
return "Stack [ arrayList = " +
buffer.toString()
+ " ] top 栈顶";
}
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < 10; i++) {
//入栈
stack.push(i);
}
System.out.println(stack);
stack.top();
System.out.println(stack);
stack.top();
System.out.println(stack);
}
}
运行结果

有兴趣的朋友可以一起讨论技术下方留下联系方式。哈哈

本文介绍了一种使用ArrayList实现栈数据结构的方法。栈遵循先进后出的原则,提供了入栈、出栈等基本操作,并通过示例代码展示了如何进行元素的添加与移除。
5149

被折叠的 条评论
为什么被折叠?



