Java中栈的实现原理
来源:互联网 发布:配眼镜测得数据的意思 编辑:程序博客网 时间:2024/06/06 04:57
理解:
底层数组保存数据,一个栈顶指针指向栈顶元素。
入栈,top++指向该元素,
出栈,出top指向元素,top–指向下一个元素
先进后出。
常用方法:
入栈:push()
出栈:pop()
判断是否为空:isEmpty()
栈顶元素:peek();
Java自带:
Stack<T> stack = new Stack<T>();
class Stack<T>{ private int top; private Object[] data; public Stack(){ data = new Object[100]; top = -1; } //压栈 数据存入数组栈顶指针下标+1后对应的位置 //确保top总是指向栈顶位置 public synchronized void push(T t){ if(top >= 100){ System.out.println("栈满"); return; } data[++top] = t; } //出栈 从栈顶指针指向的元素开始出栈 //实现先进后出。 public synchronized T pop(){ if(top < 0){ System.out.println("空栈"); return null; } @SuppressWarnings("unchecked") T t = (T) data[top--]; return t; } //获得栈顶元素 public T peek(){ return (T)data[top]; } //获取栈的长度 public int getLength(){ return top < 0 ? 0:top+1; }}
阅读全文
0 0
- Java中栈的实现原理
- Java中HashMap的实现原理
- java中List的实现原理
- java中Hashmap的实现原理
- java中Hashmap的实现原理
- java中Hashmap的实现原理
- java中List的实现原理
- Java中HashMap的实现原理
- Java集合中ArrayList的实现原理
- Java集合中HashSet的实现原理
- Java集合中TreeSet的实现原理
- Java集合中HashMap的实现原理
- java中枚举的实现原理
- Java中HashMap的实现原理
- Java集合中HashSet的实现原理
- java中List的实现原理
- java中动态代理的实现原理
- Java中HashMap的实现原理分析
- 662. Maximum Width of Binary Tree
- 在Linux里设置用户环境变量的方法
- Selenium TestNG Java环境搭建过程中所遇问题汇总
- 欢迎使用CSDN-markdown编辑器
- MyCat介绍与配置
- Java中栈的实现原理
- C#简单工厂模式
- 《Angular与primeNG结合》
- Spring boot入门实例 简易登录(精通Spring+4.x++企业应用开发实战 学习笔记二)
- Linux下搭建Git服务器
- bzoj 4989: [Usaco2017 Feb]Why Did the Cow Cross the Road
- OpenCV·计算用时
- 4195: [Noi2015]程序自动分析
- php 保留字段小数点后两位小数