public class LinkedStack1<T> {
/*定义链栈中的结点 */
private class Node {
Node next;
T item;
public Node(){
item = null; next = null;
}
public Node(T item,Node next) {
this.item = item;this.next = next;
}
public boolean end() {
return item ==null&&next==null;
}
}
// 末端哨兵,用来判断栈何时为空。在构建LinkedStack时创建
private Node top = new Node();
public void push(T item) {
top = new Node(item,top);
}
public T pop() {
T result = top.item;
if(!top.end())
top = top.next;
return result;
}
public static void main(String[] args) {
LinkedStack1<String> lss = new LinkedStack1<String>();
for(String s:"rwe dsa das dsa czx".split(" "))
lss.push(s);
String s;
while((s = lss.pop()) != null)
System.out.println(s);
}
}
LinkedStack具体实现并移除参数化,证明内部类可以访问其外部类的参数类型
最新推荐文章于 2021-03-04 15:55:31 发布