• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

java 搞代码 4年前 (2022-01-09) 25次浏览 已收录 0个评论

对这个例子的理解:

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

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

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

//: generics/LinkedStack.java// 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) {      this.item = item;      this.next = next;    }    b<p>本文来源gao!%daima.com搞$代*!码9网(</p>oolean 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 = 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 : "Phasers on stun!".split(" "))      lss.push(s);    String ss;    while((ss = lss.pop()) != null)      System.out.println(ss);      //----- if put integer into the LinkedList      LinkedStack<Integer> lii = new LinkedStack<Integer>();      for(Integer i = 0; i < 10; i++){          lii.push(i);      }      Integer end;      while((end = lii.pop()) != null)          System.out.println(end);      //----- integer test end!  }  } /* Output:stun!onPhasers*/

更多Java编程思想里的泛型实现一个堆栈类相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Java编程思想里的泛型实现一个堆栈类
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址