国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java編程思想里的泛型實現一個堆棧類 分享

2019-11-26 16:03:02
字體:
來源:轉載
供稿:網友

覺得作者寫得太好了,不得不收藏一下。

對這個例子的理解:

//類型參數不能用基本類型,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;
    }
    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
*/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍州市| 顺义区| 滨州市| 长宁县| 当涂县| 清原| 仁布县| 万年县| 德格县| 普洱| 桑植县| 临朐县| 烟台市| 海安县| 山西省| 乌恰县| 南部县| 汝州市| 香港| 涟水县| 巴彦淖尔市| 陵川县| 晴隆县| 台湾省| 曲周县| 明光市| 齐河县| 平江县| 扶沟县| 崇阳县| 南部县| 汉川市| 宁都县| 肥东县| 定兴县| 珠海市| 墨江| 虎林市| 同德县| 穆棱市| 廉江市|