Java使用泛型实现栈结构

泛型是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使用泛型实现栈结构

你可能感兴趣的:(java)