Java经典实例:进阶版堆栈实现,支持任何对象类型
支持任何对象类型,有更多的错误检查。
package Stack;/*** Created by Frank*/ public class MyStack<T> implements SimpleStack<T> {public static void main(String[] args) {MyStack<String> stack = new MyStack<>();stack.push("Frank");stack.push("Smith");System.out.println(stack.pop());}private int depth = 0;public static final int DEFAULT_INITIAL = 10;private T[] stack;public MyStack() {this(DEFAULT_INITIAL);}public MyStack(int howBig) {if (howBig <= 0) {throw new IllegalArgumentException(howBig + " must be positive, but was " + howBig);}stack = (T[]) new Object[howBig];}@Overridepublic boolean empty() {return depth == 0;}@Overridepublic void push(T obj) {stack[depth++] = obj;}@Overridepublic T pop() {--depth;T tmp = stack[depth];stack[depth] = null;return tmp;}@Overridepublic T peek() {if (depth == 0) {return null;}return stack[depth - 1];} }
转载于:https://www.cnblogs.com/frankyou/p/6134198.html
Java经典实例:进阶版堆栈实现,支持任何对象类型相关推荐
- Java经典实例(第二版)
. 获取环境变量 Java代码 . System.getenv("PATH"); . System.getenv("JAVA_HOME"); ...
- Java经典实例(第二版)各种工具
. 获取环境变量 Java代码 . System.getenv("PATH"); . System.getenv("JAVA_HOME"); ...
- Java经典实例代码
Java经典实例(第二版) 1. 获取环境变量 Java代码 1. System.getenv("PATH"); 2. System.getenv("J ...
- 高效能团队的Java研发规范(进阶版)
目前大部分团队是使用的阿里巴巴Java开发规范,不过在日常开发中难免遇到覆盖不到的场景,本文在阿里巴巴Java开发规范基础上,补充一些常用的规范,用于提升代码质量及增强代码可读性. 编程规约 1.基础 ...
- java 经典 实例_5个JAVA入门必看的经典实例
入门必看的5个java经典实例,供大家参考,具体内容如下 1.一个饲养员给动物喂食物的例子体现java中的面向对象思想,接口(抽象类)的用处 package com.softeem.demo; /** ...
- JSON支持什么对象/类型?
原文:JSON支持什么对象/类型? 当一个面试官问你: JSON都支持什么对象/类型?你怎么回答? 也许他的本意是下面这个答案: JSON格式支持的数据类型有以下: 类型 描述 Number 在Jav ...
- java 线性计算器_java版科学计算器,支持表达式计算
<java版科学计算器,支持表达式计算>由会员分享,可在线阅读,更多相关<java版科学计算器,支持表达式计算(12页珍藏版)>请在人人文库网上搜索. 1.程序设计综合设计题目 ...
- 22个Java经典实例 带完美注释
1. 获取环境变量 Java代码 1. System.getenv("ATH"); 2. System.getenv("JAVA_HOME") ...
- Java经典实例:比较浮点数
/*** Created by Frank* 比较浮点数*/ public class FloatCmp {// 公差private final static Double EPSILON = 0.0 ...
最新文章
- 再次刷新单模型纪录!快手登顶多模态理解权威榜单VCR
- linux查看nginx运行状态,如何查看nginx运行状态及相关属性说明
- 微信开发(02)之处理微信客户端发来的消息
- MySQL事务的幻读
- 浅谈PVID和VID区别
- kamailio,asteisk,realtime 实现负载均衡(集群)完整配置笔记
- oracle查询数据库日志大小,Oracle的日志缓冲区大小查询方法———学习笔记 | 学步园...
- android 小米截图,小米工程师晒基于Android Q定制的MIUI截图
- PPT_设计师的十大秘诀
- matlab做均值和方差,matlab求均值,方差
- 遥控直升机主旋翼设定
- 拼多多sdk php,学习猿地-【扩展分享】拼多多 API SDK【拼多多开放平台】
- linux虚拟串口控制器实现---适用于无开发板学习tty driver
- css_径向渐变 radial-gradient()/css generator样式生成器
- 手机智能汽车钥匙来了, 汽车远程启动在手机上就能完成
- LINUX:Ubuntu重装虚拟机后无法拖拽文件的解决方法
- 自我激励的二十种方法
- java script error_java script error 错误解决方法
- python编程——字符画
- PMP考试从报名到取证一条龙流程都在这里!文末有免费资料~
热门文章
- 应用程序部署策略——虚拟机与容器
- 非标准语法;请使用 _一文读懂使用MCU SPI访问具有非标准SPI接口ADC的方法
- 使用pagehelper踩的坑PageHelper cannot be cast
- linux中hadoop环境变量配置文件,Ubuntu中关于hadoop环境变量的设置方法
- 解读mysql日志_全方位解读 MySQL 日志实现内幕(四)
- 关于使用layer弹出框展现echarts不显示的问题
- 项目中查询数据和模糊查询
- flask对mysql数据库增删改查_flask后台框架1.4(mysql配置+数据库增删改查)-Go语言中文社区...
- java异常断点数组_使用IDEA异常断点来定位java.lang.ArrayStoreException的问题
- 刷新存储器的容量单位是什么_什么是PLC?PLC的选型原则是什么?