java使用泛型实现栈结构示例分享

 更新时间:2014年03月03日 10:15:26   作者:  
泛型是Java SE5.0的重要特性,使用泛型编程可以使代码获得最大的重用。由于在使用泛型时要指明泛型的具体类型,这样就避免了类型转换。本实例将使用泛型来实现一个栈结构,并对其进行测试

思路分析:既然是用泛型实现栈结构,那就不能用JDK自带的stack包了,需要自己定义一个栈结构,比如LinkedList。

代码如下:

Stack.java:

复制代码 代码如下:

package cn.edu.xidian.crytoll;
import java.util.LinkedList;

public class Stack<T> {

    private LinkedList<T> container = new LinkedList<T>();

    public void push(T t) {
        container.addFirst(t);
    }

    public T pop() {
        return container.removeFirst();
    }

    public boolean empty() {
        return container.isEmpty();
    }
}

StackTest.java:

复制代码 代码如下:

package cn.edu.xidian.crytoll;

public class StackTest {
    public static void main(String[] args) {
        Stack<String> stack = new Stack<String>();
        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实现voctor按指定方式排序示例分享

    java实现voctor按指定方式排序示例分享

    这篇文章主要介绍了java实现voctor按指定方式排序示例,需要的朋友可以参考下
    2014-03-03
  • Java 动态代理你真的懂了吗(动态和代理)

    Java 动态代理你真的懂了吗(动态和代理)

    动态代理分两部分,动态和代理,今天通过本文给大家普及代码模式及动态代理的概念及示例代码,感兴趣的朋友跟随小编一起看看吧
    2021-07-07
  • Mybatis-Plus环境配置与入门案例分析

    Mybatis-Plus环境配置与入门案例分析

    MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在,本篇文章带你配置环境并认识它
    2022-03-03
  • Java如何随机生成图片验证码

    Java如何随机生成图片验证码

    这篇文章主要为大家详细介绍了Java如何随机生成图片验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • sa-token 路由拦截式鉴权使用示例详解

    sa-token 路由拦截式鉴权使用示例详解

    这篇文章主要为大家介绍了sa-token 路由拦截式鉴权使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 深入理解Java的Spring框架中的IOC容器

    深入理解Java的Spring框架中的IOC容器

    IOC(Inversion of Control,控制反转)是Spring框架的核心,负责控制对象的生命周期与关系,接下来就让我们跟随文章来深入理解Java的Spring框架中的IOC容器:
    2016-07-07
  • java9学习系列之在docker中如何运行java9

    java9学习系列之在docker中如何运行java9

    最近在学习java9,所以将学习中遇到的一些知识点分享给大家,下面这篇文章主要给大家介绍了java9学习系列之在docker中如何运行java9的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-09-09
  • spring cloud gateway转发服务报错的解决

    spring cloud gateway转发服务报错的解决

    这篇文章主要介绍了spring cloud gateway转发服务报错的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java之TreeSet和TreeMap的两种排序方式解读

    Java之TreeSet和TreeMap的两种排序方式解读

    这篇文章主要介绍了Java之TreeSet和TreeMap的两种排序方式解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • ssm项目改造spring boot项目完整步骤

    ssm项目改造spring boot项目完整步骤

    Spring Boot现在已经成为Java开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成,下面这篇文章主要给大家介绍了关于ssm项目改造spring boot项目的相关资料,需要的朋友可以参考下
    2023-04-04

最新评论