欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计泛型堆栈类

程序员文章站 2022-03-13 12:06:48
...
package com.type.ch02;

public class LinkedStack<T> {

	private static class Node<U>{
		U item;
		Node<U> next;
		Node() {
			this.item = null;
			this.next =null;
		}
		Node(U item, Node<U> next) {
			this.item = item;
			this.next = next;
		}
		
		boolean end() {return item == null && next == null;}
	}
	
	private Node<T> top = new Node<T>();
	
	public void push(T item){
		top = new Node<T>(item, top);
	}
	
	public T pop(){
		T result = top.item;
		if(!top.end())
			top = top.next;
		return result;
	}
	
	public static void main(String[] args) {
		LinkedStack<String> lss = new LinkedStack<String>();
		for(String s : "aaa bbb ccc".split(" ")){
			lss.push(s);
		}
		String s;
		while((s=lss.pop()) != null){
			System.out.println(s);
		}
	}
}

 

ccc
bbb
aaa

 

相关标签: 泛型