支持任何对象类型,有更多的错误检查。

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经典实例:进阶版堆栈实现,支持任何对象类型相关推荐

  1. Java经典实例(第二版)

    . 获取环境变量 Java代码  .    System.getenv("PATH");   .    System.getenv("JAVA_HOME"); ...

  2. Java经典实例(第二版)各种工具

    . 获取环境变量 Java代码  .    System.getenv("PATH");   .    System.getenv("JAVA_HOME"); ...

  3. Java经典实例代码

    Java经典实例(第二版) 1. 获取环境变量 Java代码  1.    System.getenv("PATH");   2.    System.getenv("J ...

  4. 高效能团队的Java研发规范(进阶版)

    目前大部分团队是使用的阿里巴巴Java开发规范,不过在日常开发中难免遇到覆盖不到的场景,本文在阿里巴巴Java开发规范基础上,补充一些常用的规范,用于提升代码质量及增强代码可读性. 编程规约 1.基础 ...

  5. java 经典 实例_5个JAVA入门必看的经典实例

    入门必看的5个java经典实例,供大家参考,具体内容如下 1.一个饲养员给动物喂食物的例子体现java中的面向对象思想,接口(抽象类)的用处 package com.softeem.demo; /** ...

  6. JSON支持什么对象/类型?

    原文:JSON支持什么对象/类型? 当一个面试官问你: JSON都支持什么对象/类型?你怎么回答? 也许他的本意是下面这个答案: JSON格式支持的数据类型有以下: 类型 描述 Number 在Jav ...

  7. java 线性计算器_java版科学计算器,支持表达式计算

    <java版科学计算器,支持表达式计算>由会员分享,可在线阅读,更多相关<java版科学计算器,支持表达式计算(12页珍藏版)>请在人人文库网上搜索. 1.程序设计综合设计题目 ...

  8. 22个Java经典实例 带完美注释

    1. 获取环境变量 Java代码  1.    System.getenv("ATH");   2.    System.getenv("JAVA_HOME") ...

  9. Java经典实例:比较浮点数

    /*** Created by Frank* 比较浮点数*/ public class FloatCmp {// 公差private final static Double EPSILON = 0.0 ...

最新文章

  1. 再次刷新单模型纪录!快手登顶多模态理解权威榜单VCR
  2. linux查看nginx运行状态,如何查看nginx运行状态及相关属性说明
  3. 微信开发(02)之处理微信客户端发来的消息
  4. MySQL事务的幻读
  5. 浅谈PVID和VID区别
  6. kamailio,asteisk,realtime 实现负载均衡(集群)完整配置笔记
  7. oracle查询数据库日志大小,Oracle的日志缓冲区大小查询方法———学习笔记 | 学步园...
  8. android 小米截图,小米工程师晒基于Android Q定制的MIUI截图
  9. PPT_设计师的十大秘诀
  10. matlab做均值和方差,matlab求均值,方差
  11. 遥控直升机主旋翼设定
  12. 拼多多sdk php,学习猿地-【扩展分享】拼多多 API SDK【拼多多开放平台】
  13. linux虚拟串口控制器实现---适用于无开发板学习tty driver
  14. css_径向渐变 radial-gradient()/css generator样式生成器
  15. 手机智能汽车钥匙来了, 汽车远程启动在手机上就能完成
  16. LINUX:Ubuntu重装虚拟机后无法拖拽文件的解决方法
  17. 自我激励的二十种方法
  18. java script error_java script error 错误解决方法
  19. python编程——字符画
  20. PMP考试从报名到取证一条龙流程都在这里!文末有免费资料~

热门文章

  1. 应用程序部署策略——虚拟机与容器
  2. 非标准语法;请使用 _一文读懂使用MCU SPI访问具有非标准SPI接口ADC的方法
  3. 使用pagehelper踩的坑PageHelper cannot be cast
  4. linux中hadoop环境变量配置文件,Ubuntu中关于hadoop环境变量的设置方法
  5. 解读mysql日志_全方位解读 MySQL 日志实现内幕(四)
  6. 关于使用layer弹出框展现echarts不显示的问题
  7. 项目中查询数据和模糊查询
  8. flask对mysql数据库增删改查_flask后台框架1.4(mysql配置+数据库增删改查)-Go语言中文社区...
  9. java异常断点数组_使用IDEA异常断点来定位java.lang.ArrayStoreException的问题
  10. 刷新存储器的容量单位是什么_什么是PLC?PLC的选型原则是什么?