• 使用泛型实现栈结构


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

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

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

    设计过程:

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

    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();
        }
    }


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

    代码例如以下:

    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());//删除栈中所有元素并进行输出
            }
        }
    }

    结果例如以下:


  • 相关阅读:
    【转】Windows7 下安装 JDK 7 时版本冲突问题解决
    【转】Android开发之旅:环境搭建及HelloWorld
    android开发板
    win7重装系统的配置步骤
    caffe 源码阅读
    caffe 源码阅读
    Python 图像处理: 生成二维高斯分布蒙版
    学习 protobuf(一)—— ubuntu 下 protobuf 2.6.1 的安装
    学习 protobuf(一)—— ubuntu 下 protobuf 2.6.1 的安装
    CMake 添加头文件目录,链接动态、静态库(添加子文件夹)
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/6869576.html
Copyright © 2020-2023  润新知