最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java編程思想里的泛型實(shí)現(xiàn)一個(gè)堆棧類(lèi) 分享

 更新時(shí)間:2013年07月01日 14:46:47   作者:  
這篇文章介紹了Java編程思想里的泛型實(shí)現(xiàn)一個(gè)堆棧類(lèi),有需要的朋友可以參考一下

覺(jué)得作者寫(xiě)得太好了,不得不收藏一下。

對(duì)這個(gè)例子的理解:

//類(lèi)型參數(shù)不能用基本類(lèi)型,T和U其實(shí)是同一類(lèi)型。

//每次放新數(shù)據(jù)都成為新的top,把原來(lái)的top往下壓一級(jí),通過(guò)指針建立鏈接。

//末端哨兵既是默認(rèn)構(gòu)造器創(chuàng)建出的符合end()返回true的節(jié)點(diǎn)。

復(fù)制代碼 代碼如下:

//: 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;
    }
    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 = 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!
on
Phasers
*/

相關(guān)文章

最新評(píng)論

吴桥县| 喜德县| 鄯善县| 东方市| 汉沽区| 衡山县| 宜春市| 楚雄市| 武安市| 房产| 抚顺市| 乌审旗| 商都县| 甘肃省| 尖扎县| 茂名市| 林口县| 五寨县| 巫溪县| 莱州市| 伊金霍洛旗| 井冈山市| 泸州市| 绵阳市| 浦城县| 崇礼县| 黔西县| 公安县| 连南| 阳西县| 赣州市| 固阳县| 马尔康县| 海城市| 隆回县| 三都| 青州市| 洛南县| 海门市| 莱芜市| 乐亭县|