java

位置:IT落伍者 >> java >> 浏览文章

Java编程思想里的泛型实现一个堆栈类 分享


发布日期:2021年06月03日
 
Java编程思想里的泛型实现一个堆栈类 分享

觉得作者写得太好了不得不收藏一下

对这个例子的理解

//类型参数不能用基本类型T和U其实是同一类型

//每次放新数据都成为新的top把原来的top往下压一级通过指针建立链接

//末端哨兵既是默认构造器创建出的符合end()返回true的节点

复制代码 代码如下:


//: generics/LinkedStackjava
// A stack implemented with an internal linked structure
package generics; public class LinkedStack<T> {
private static class Node<U> {
U item;
Node<U> next;
Node() { item = null; next = null; }
Node(U item Node<U> next) {
thisitem = item;
thisnext = next;
}
boolean end() { return item == null && next == null; }
}
private Node<T> top = new Node<T>(); // End sentinel
public void push(T item) {
top = new Node<T>(item top);
}   
public T pop() {
T result = topitem;
if(!topend())
top = topnext;
return result;
}
public static void main(String[] args) {
LinkedStack<String> lss = new LinkedStack<String>();
for(String s : "Phasers on stun!"split(" "))
lsspush(s);
String ss;
while((ss = lsspop()) != null)
Systemoutprintln(ss);
// if put integer into the LinkedList
LinkedStack<Integer> lii = new LinkedStack<Integer>();
for(Integer i = ; i < ; i++){
liipush(i);
}
Integer end;
while((end = liipop()) != null)
Systemoutprintln(end);
// integer test end!
}


}
/* Output:
stun!
on
Phasers
*/

               

上一篇:Java编程技术中汉字问题的分析及解决

下一篇:java常用图片读写程序