java使用泛型實現(xiàn)棧結(jié)構(gòu)示例分享
更新時間:2014年03月03日 10:15:26 作者:
泛型是Java SE5.0的重要特性,使用泛型編程可以使代碼獲得最大的重用。由于在使用泛型時要指明泛型的具體類型,這樣就避免了類型轉(zhuǎn)換。本實例將使用泛型來實現(xiàn)一個棧結(jié)構(gòu),并對其進(jìn)行測試
思路分析:既然是用泛型實現(xiàn)棧結(jié)構(gòu),那就不能用JDK自帶的stack包了,需要自己定義一個棧結(jié)構(gòu),比如LinkedList。
代碼如下:
Stack.java:
復(fù)制代碼 代碼如下:
package cn.edu.xidian.crytoll;
import java.util.LinkedList;
public class Stack<T> {
private LinkedList<T> container = new LinkedList<T>();
public void push(T t) {
container.addFirst(t);
}
public T pop() {
return container.removeFirst();
}
public boolean empty() {
return container.isEmpty();
}
}
StackTest.java:
復(fù)制代碼 代碼如下:
package cn.edu.xidian.crytoll;
public class StackTest {
public static void main(String[] args) {
Stack<String> stack = new Stack<String>();
System.out.println("向棧中增加字符串:");
System.out.println("視頻學(xué)Java");
System.out.println("細(xì)說Java");
System.out.println("Java從入門到精通(第2版)");
stack.push("視頻學(xué)Java"); //向棧中增加字符串
stack.push("細(xì)說Java"); //向棧中增加字符串
stack.push("Java從入門到精通(第2版)"); //向棧中增加字符串
System.out.println("從棧中取出字符串:");
while (!stack.empty()) {
System.out.println((String) stack.pop());//刪除棧中全部元素并進(jìn)行輸出
}
}
}
您可能感興趣的文章:
- 利用數(shù)組實現(xiàn)棧(Java實現(xiàn))
- 淺談Java數(shù)組的一些使用方法及堆棧存儲
- Java中使用數(shù)組實現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)實例
- JAVA中堆、棧,靜態(tài)方法和非靜態(tài)方法的速度問題
- Java實現(xiàn)棧和隊列面試題
- java中棧和隊列的實現(xiàn)和API的用法(詳解)
- Java編程思想里的泛型實現(xiàn)一個堆棧類 分享
- Java使用Deque實現(xiàn)堆棧的方法
- 用Java代碼實現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)的基本方法歸納
- JAVA基于靜態(tài)數(shù)組實現(xiàn)棧的基本原理與用法詳解
相關(guān)文章
Java 動態(tài)代理你真的懂了嗎(動態(tài)和代理)
動態(tài)代理分兩部分,動態(tài)和代理,今天通過本文給大家普及代碼模式及動態(tài)代理的概念及示例代碼,感興趣的朋友跟隨小編一起看看吧2021-07-07
java9學(xué)習(xí)系列之在docker中如何運行java9
最近在學(xué)習(xí)java9,所以將學(xué)習(xí)中遇到的一些知識點分享給大家,下面這篇文章主要給大家介紹了java9學(xué)習(xí)系列之在docker中如何運行java9的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-09-09
spring cloud gateway轉(zhuǎn)發(fā)服務(wù)報錯的解決
這篇文章主要介紹了spring cloud gateway轉(zhuǎn)發(fā)服務(wù)報錯的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09

