2019独角兽企业重金招聘Python工程师标准>>>

堆栈类:

package c15;public class LinkedStack<T> {private static class Node<T> {T item ;Node<T> next ;Node(){item = null ;next = null ;}Node (T item ,Node<T> next ){this .item = item;this .next = next;}boolean end() { return item == null && next == null ; }}private Node<T> top = new Node<T>();public void push(T item){top = new Node<T>( item, top);}public T pop(){Node<T> resultNode = top ;if (!top .end()){top = top .next ;}return resultNode .item ;}public static void main(String[] args){LinkedStack<Integer> sLinkedStack = new LinkedStack<Integer>();for (int i = 0; i < 10; i++) {sLinkedStack .push(i );}System. out .println(sLinkedStack .pop());}
}

NOTE:

堆栈类设计思路:

1.使用内部类分离了结构逻辑和操作逻辑。

2.堆栈的结构特点是只能知道顶部的成员信息,每次新添加的成员都会处于堆栈的顶部,每次删除成员

都会在堆栈顶部删除。

3.堆栈结构可以简单的分为两部分,一个是顶部成员的内容,另一个是指向顶部以下的压顶部成员的指针。

4.堆栈结构必须要提供一个知道何时所有成员已经全部清除的方法。

操作的设计思路:

1.需要一个空类内容在实例化的时候填充到底部。

2.一个push():添加新成员到顶部,一个pop():把顶部成员删除

important:

堆栈的下一个的意思一般都是指该成员的前一个成员,因为在堆栈的角度来说,他自己永远都不会自到自己后面的成员是谁。每一个成员都只会知道自己的前面是谁。

转载于:https://my.oschina.net/zerodeng/blog/314614

JAVA 内部类 泛型 实现堆栈相关推荐

  1. java 内部类泛型,java – 使用泛型强制转换为内部类

    请考虑以下代码: public class Outer { public class Inner{ } public static Outer.Inner get(){ Object o = new ...

  2. java实现泛型检索_高级Java泛型:检索泛型类型参数

    java实现泛型检索 在JDK5中引入Java泛型之后, Java泛型Swift成为许多Java程序的组成部分. 但是,乍一看似乎很简单的Java泛型,程序员很快就会迷失此功能. 大多数Java程序员 ...

  3. 002 Java集合泛型面试题

    Java集合/泛型面试题 1 ArrayList和linkedList的区别 ArrayList: 可以看作是能够自动增长容量的数组 ArrayList底层的实现是Array, 数组扩容实现 Arra ...

  4. 看到如此详细的Java内部类,我泪目了

    Java内部类 介绍 定义 成员内部类 语法格式 使用说明 代码示例 局部内部类 语法格式 使用说明 代码示例 匿名内部类 语法格式 使用说明 代码示例 静态内部类 语法格式 使用说明 代码示例 介绍 ...

  5. Java通过泛型的模板类型实例化对象

    Java通过泛型的模板类型实例化对象 最近自己研究了下mvvm框架,使用泛型的方式可节省很多代码,并且可以合并很多冗余代码,为了最大化的精简代码想到了通过泛型的type用反射的方式实例化对象,这样对象 ...

  6. jstack-查看Java进程的线程堆栈信息,锁定高消耗资源代码

    jstack主要用来查看某个Java进程内的线程堆栈信息.语法格式如下: jstack [option] pid jstack [option] executable core jstack [opt ...

  7. Java内部类作用全解

    提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比.内部类从表面上看,就 ...

  8. netBeans调试时不进入java内部类(jdk源码)的方法 转载

    初次使用netbeans的调试功能时,会发现调试中,进入了java的内部类运行,具体情况,如下图所示: 对于我这样的一个新手,完全弄不懂啊. 后来我去论坛问了,同时自己研究,发现经过以下设置,就可以跳 ...

  9. 【Java】泛型中 extends 和 super 的区别?

    <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...

  10. Java内部类(Inner Class)小记

    一.引子 看到Trinea的博文Junit单测代码中java序列化失败的解决,让我想到Java内部类的一些小Gocha,初学Java时很迷惑.这里记录一下. 就以Trinea的博文中的序列化失败的例子 ...

最新文章

  1. 机器学习内卷化:博士数量激增,本硕毕业生有点慌 | reddit热议
  2. python制作猜拳游戏代码_python实现猜拳游戏项目
  3. 前端人员如何在linux服务器上搭建npm私有库
  4. 限制input 内部字数
  5. 【计算机网络复习 物理层】2.3 物理层设备
  6. Leetcode 707.设计链表
  7. 性能比 GPU 高 100 倍!首款可编程忆阻器 AI 计算机面世
  8. mvc ajax图片上传,MVC 通过ajaxSubmit上传图片并显示
  9. SecureCRT 中文显示乱码
  10. DIV+CSS如何让文字垂直居中
  11. nginx源码包编译安装
  12. 云计算机房的建设预算,云计算节省支出待验证 IDC机房建设每平米30万
  13. LM393(寻迹原理)
  14. “梦中行千里不如现实行一步。”创业亦是如此丨国仁网络资讯
  15. javascript判断文本语言类型
  16. Android Material 常用组件详解(六)—— Progress indicators、Slider 使用详解
  17. ITRON入门学习之实时操作系统的意义与价值
  18. MATLAB-mesh/ezmesh函数三维图形绘制
  19. 第八章 组织结构设计与类型
  20. MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版

热门文章

  1. win7右键我的电脑管理菜单失效的解决办法
  2. 2004-7-21/22+ DataGrid知识整理
  3. 网络收包流程-报文从网卡驱动到网络层(或者网桥)的流程(非NAPI、NAPI)(一)
  4. cgroup学习(六)——attach task
  5. linux 设备驱动之8250串口驱动分析
  6. linux应用编程--思维导图
  7. 如何提高Android系统Aututu benchmark跑分
  8. K - 最少拦截系统(动态规划)
  9. mysql 查询polygon_如何通过mysql 判断点是否在指定多边形区域内
  10. 折线分割平面(递推dp)