泛型类就是含有一个或者多个类型參数的类。定义泛型类非常easy,仅仅须要在类的名称后面加上“”,并在当中指明类型參数,比方本例中的T。

也能够在当中指明多个參数,如K、V。多个參数之间使用逗号隔开。定义完类后,就能够在类中的域和方法中使用泛型參数。

注意: 泛型类型的參数仅仅能使用类类型,而不能使用基本类型。

设计过程:

1)编写泛型类Stack,在该类中定义了3个方法,分别用来入栈的push()方法、用来出栈的pop()方法和用来推断栈是否为空的empty()方法。在底层上,本类使用LinkedList作为容器,它是Java集合类的一员,能够用来简化开发。代码例如以下:

public class Stack {

private LinkedList container = new LinkedList();

public void push(T t) {

container.addFirst(t);

}

public T pop() {

return container.removeFirst();

}

public boolean empty() {

return container.isEmpty();

}

}

2)编写測试代类StackTest,在该类的main()方法中向栈中添加3个字符串,又从栈中删去3个字符串并进行输出。

代码例如以下:

public class StackTest {

public static void main(String[] args) {

Stack stack = new Stack();

System.out.println("向栈中添加字符串:");

System.out.println("视频学Java");

System.out.println("细说Java");

System.out.println("Java从入门到精通(第2版)");

stack.push("视频学Java"); //向栈中添加字符串

stack.push("细说Java"); //向栈中添加字符串

stack.push("Java从入门到精通(第2版)"); //向栈中添加字符串

System.out.println("从栈中取出字符串:");

while (!stack.empty()) {

System.out.println((String) stack.pop());//删除栈中所有元素并进行输出

}

}

}

结果例如以下:

java 栈泛型_使用泛型实现栈结构相关推荐

  1. JVM - 结合代码示例彻底搞懂Java内存区域_对象在堆-栈-方法区(元空间)之间的关系

    文章目录 Pre 示例demo 总体关系 代码示例论证 反汇编 Pre JVM - 结合代码示例彻底搞懂Java内存区域_线程栈 | 本地方法栈 | 程序计数器 中我们探讨了线程栈中的内部结构 ,大家 ...

  2. Java毕业设计项目_企业级实战全栈项目中信CRM

    [教程.代码]文章底部 1.学习目标 视频教程目录 [教程.代码]文章底部 2.CRM 系统概念与项目开发流程 2.1. CRM基本概念 圈内存在这么一句话:"世上本来没有CRM,大家的生意 ...

  3. java 单例模式 泛型_单例模式 泛型

    using System; namespace ConsoleSingletonTest { /** 单例模式(Singleton) 泛型 单例模式 * 定义:单例模式的意思就是只有一个实例(整个应用 ...

  4. java栈 迷宫_数据结构—迷宫(栈实现版)

    // // main.c // reo // // Created by 郭瞾阳 on 14-8-13. // Copyright (c) 2014年 gzy. All rights reserved ...

  5. python 泛型_编写泛型

    编写泛型类比普通类要复杂.通常来说,泛型类一般用在集合类中,例如ArrayList,我们很少需要编写泛型类. 如果我们确实需要编写一个泛型类,那么,应该如何编写它? 可以按照以下步骤来编写一个泛型类. ...

  6. java数组的下界,Java泛型_上界extends_下界super

    Java泛型_上界extends_下界super ? 通配符类型 extends T> 表示类型的上界,表示参数化类型的可能是T或是T的子类 super T> 表示类型下界(Java C ...

  7. java 数据结构实例_数据结构(Java)——栈的实例

    惟大英雄能本色,是真名士自风流 --易中天(百家讲坛) 1.表达式的转换 1.1 中缀表达式转前缀表达式 中缀表达式转前缀表达式有许多的方式,有加括号去除法.语法树遍历法.堆栈处理法1. 测试程序的实 ...

  8. JVM - 结合代码示例彻底搞懂Java内存区域_线程栈 | 本地方法栈 | 程序计数器

    文章目录 Pre 运行时数据区总览 线程栈 概要 栈内部主要组成部分 局部变量 操作数栈 动态链接 方法出口 小结 程序计数器 本地方法栈 附 测试demo javap JVM字节码指令集手册 Pre ...

  9. java获取栈最大值_实现O(1)获取最大最小值的栈----java

    实现O(1)获取最大最小值的栈和队列----java 一.如何实现包含获取最小值函数的栈 问题:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的getMin函数.在该栈中,调用getMin ...

  10. android 集成同一interface不同泛型_【Java视频教程】day30-泛型??

    泛型 泛型的引入 需求:打印集合中所有字符串的长度: 结论: 再使用集合时,因为集合中可以保存不同类型的数据,保存进入集合后不管什么类型的数据都会自动向上转型为Object类型, 所以实际使用时一般需 ...

最新文章

  1. Java反射(自己的理解)
  2. 微软开源 Windows 软件包管理器 winget,一行命令安装软件
  3. xaml中的布局面板
  4. python高阶函数闭包装饰器_5.初识python装饰器 高阶函数+闭包+函数嵌套=装饰器...
  5. 计算机组成原理实...,计算机组成原理实报告-杨睿.doc
  6. 《需求工程——软件建模与分析》阅读笔记之二
  7. 08:石头剪刀布【一维数组】
  8. Selenium的一些技巧与错误处理
  9. 对象(sqlca、sqlsa、sqlda)
  10. 云画质助手iApp源码下载
  11. 一文十大排序算法(动画图解)
  12. 使用 Amazon Deep Learning AMI 快速实现 CUDA,cuDNN 和深度学习框架版本兼容
  13. 敏捷软件开发宣言和原则
  14. 5和6 objbc oracle_《Oracle Database 12c完全参考手册(第7版)(试读版)》
  15. 腾讯数据科学家详解用户选择行为分析核心模型
  16. windows下 python 使用 pip 安装TA-Lib报错的原因及解决方法
  17. Flash之SM25QH128M、JFM25F32A读写操作FPGA Verilog实现
  18. MT法测速之定量分析
  19. 欧盟CE法规及标准查询常用网站
  20. HTML+CSS网页制作——人生指南

热门文章

  1. 【学生研究课题】CSDN博客数据获取、分析、分享
  2. Java学习不走弯路教程(16 用Ajava异步请求)
  3. log4j 配置和使用
  4. 5.hbase表新增数据同步之add_peer
  5. 洛谷 1776 宝物筛选 【多重背包+二进制拆分】
  6. ImageView显示控制
  7. Java核心技术读书笔记(2013-01-11)
  8. 将I1111改成I1112
  9. 【Python:统一时间格式YYYY-MM-DD】时间数据、格式处理、并根据时间合并dataframe
  10. java中jsp table标签属性_JSP自定义标签-属性