JAVA 内部类 泛型 实现堆栈
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 内部类 泛型 实现堆栈相关推荐
- java 内部类泛型,java – 使用泛型强制转换为内部类
请考虑以下代码: public class Outer { public class Inner{ } public static Outer.Inner get(){ Object o = new ...
- java实现泛型检索_高级Java泛型:检索泛型类型参数
java实现泛型检索 在JDK5中引入Java泛型之后, Java泛型Swift成为许多Java程序的组成部分. 但是,乍一看似乎很简单的Java泛型,程序员很快就会迷失此功能. 大多数Java程序员 ...
- 002 Java集合泛型面试题
Java集合/泛型面试题 1 ArrayList和linkedList的区别 ArrayList: 可以看作是能够自动增长容量的数组 ArrayList底层的实现是Array, 数组扩容实现 Arra ...
- 看到如此详细的Java内部类,我泪目了
Java内部类 介绍 定义 成员内部类 语法格式 使用说明 代码示例 局部内部类 语法格式 使用说明 代码示例 匿名内部类 语法格式 使用说明 代码示例 静态内部类 语法格式 使用说明 代码示例 介绍 ...
- Java通过泛型的模板类型实例化对象
Java通过泛型的模板类型实例化对象 最近自己研究了下mvvm框架,使用泛型的方式可节省很多代码,并且可以合并很多冗余代码,为了最大化的精简代码想到了通过泛型的type用反射的方式实例化对象,这样对象 ...
- jstack-查看Java进程的线程堆栈信息,锁定高消耗资源代码
jstack主要用来查看某个Java进程内的线程堆栈信息.语法格式如下: jstack [option] pid jstack [option] executable core jstack [opt ...
- Java内部类作用全解
提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比.内部类从表面上看,就 ...
- netBeans调试时不进入java内部类(jdk源码)的方法 转载
初次使用netbeans的调试功能时,会发现调试中,进入了java的内部类运行,具体情况,如下图所示: 对于我这样的一个新手,完全弄不懂啊. 后来我去论坛问了,同时自己研究,发现经过以下设置,就可以跳 ...
- 【Java】泛型中 extends 和 super 的区别?
<? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...
- Java内部类(Inner Class)小记
一.引子 看到Trinea的博文Junit单测代码中java序列化失败的解决,让我想到Java内部类的一些小Gocha,初学Java时很迷惑.这里记录一下. 就以Trinea的博文中的序列化失败的例子 ...
最新文章
- 机器学习内卷化:博士数量激增,本硕毕业生有点慌 | reddit热议
- python制作猜拳游戏代码_python实现猜拳游戏项目
- 前端人员如何在linux服务器上搭建npm私有库
- 限制input 内部字数
- 【计算机网络复习 物理层】2.3 物理层设备
- Leetcode 707.设计链表
- 性能比 GPU 高 100 倍!首款可编程忆阻器 AI 计算机面世
- mvc ajax图片上传,MVC 通过ajaxSubmit上传图片并显示
- SecureCRT 中文显示乱码
- DIV+CSS如何让文字垂直居中
- nginx源码包编译安装
- 云计算机房的建设预算,云计算节省支出待验证 IDC机房建设每平米30万
- LM393(寻迹原理)
- “梦中行千里不如现实行一步。”创业亦是如此丨国仁网络资讯
- javascript判断文本语言类型
- Android Material 常用组件详解(六)—— Progress indicators、Slider 使用详解
- ITRON入门学习之实时操作系统的意义与价值
- MATLAB-mesh/ezmesh函数三维图形绘制
- 第八章 组织结构设计与类型
- MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版