首页 > 代码库 > 使用泛型实现栈结构
使用泛型实现栈结构
泛型类就是含有一个或者多个类型参数的类。定义泛型类很简单,只需要在类的名称后面加上“<”和“>”,并在其中指明类型参数,比如本例中的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());//删除栈中全部元素并进行输出 } }}
结果如下:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。