博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爪哇国新游记之十八----泛型栈类
阅读量:6647 次
发布时间:2019-06-25

本文共 1467 字,大约阅读时间需要 4 分钟。

import java.lang.reflect.Array;/** * 泛型栈 * * @param 
*/public class Stack
{ private Class
type;// 栈元素所属的类 private int size;// 栈深度 private T[] arr;// 用数组存储 private int top;// 栈顶元素的下标 public Stack(Class
type,int size){ this.type = type; this.size=size; arr=createArray(size); top=-1; } /** * 创建数组 * @param size * @return */ @SuppressWarnings("unchecked") private T[] createArray(int size) { return (T[]) Array.newInstance(type, size); } /** * 压栈 * @param t */ public void push(T t){ top++; arr[top]=t; } /** * 出栈 * @return */ public T pop(){ T t=arr[top]; top--; return t; } /** * 取栈顶元素 * @return */ public T peek(){ return arr[top]; } /** * 判断栈是否为空 * @return */ public boolean isEmpty(){ return top==-1; } /** * 判断栈是否满了 * @return */ public boolean isFull(){ return top==(size-1); } public static void main(String[] args){ Stack
s=new Stack
(String.class,100); s.push("以恒心为良友"); s.push("以经验为参谋"); s.push("以小心为兄弟"); s.push("以希望为哨兵"); while(!s.isEmpty()){ String str=s.pop(); System.out.println(str); } }}

输出:

以希望为哨兵以小心为兄弟以经验为参谋以恒心为良友
 
 
 
 
 
 
 
 
 
 
 
 
,如需转载请自行联系原作者
 
 
你可能感兴趣的文章
https://github.com/doo/GAJavaScriptTracker
查看>>
Python包中__init__.py文件的意义
查看>>
Linux命令学习手册-arp命令
查看>>
谨慎:使用 iptables -F 清除所有规则命令时必须小心
查看>>
树图 广度优先算法和深度优先算法
查看>>
onetomany one的一方把set集合封装到json中
查看>>
【转载】actor 模型的优缺点分析介绍
查看>>
第十章 Scala 容器(三):使用容器通用方法解决问题
查看>>
如何给 NPM 设置代理
查看>>
23种设计模式
查看>>
LaraverS框架Redis设置Key前缀
查看>>
[转]linux 启动 oracle
查看>>
O2O与B2C的区别
查看>>
isset array_key_exist in_array效率比较
查看>>
Thinking in java notes
查看>>
MAP_GROWSDOWN
查看>>
hive映射hbase设置timestamp
查看>>
在centos5下为PHP安装coreseek全文检索引擎支持
查看>>
redis源码 dictScan 简要介绍
查看>>
Markdown语法手册地址
查看>>