java使用泛型實現(xiàn)棧結(jié)構(gòu)示例分享
更新時間:2014年03月03日 10:15:26 作者:
泛型是Java SE5.0的重要特性,使用泛型編程可以使代碼獲得最大的重用。由于在使用泛型時要指明泛型的具體類型,這樣就避免了類型轉(zhuǎn)換。本實例將使用泛型來實現(xiàn)一個棧結(jié)構(gòu),并對其進行測試
思路分析:既然是用泛型實現(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("細說Java");
System.out.println("Java從入門到精通(第2版)");
stack.push("視頻學(xué)Java"); //向棧中增加字符串
stack.push("細說Java"); //向棧中增加字符串
stack.push("Java從入門到精通(第2版)"); //向棧中增加字符串
System.out.println("從棧中取出字符串:");
while (!stack.empty()) {
System.out.println((String) stack.pop());//刪除棧中全部元素并進行輸出
}
}
}
您可能感興趣的文章:
- 利用數(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)文章
MyBatis的collection和association的使用解讀
這篇文章主要介紹了MyBatis的collection和association的使用解讀2023-12-12SpringBoot security安全認證登錄的實現(xiàn)方法
這篇文章主要介紹了SpringBoot security安全認證登錄的實現(xiàn)方法,也就是使用默認用戶和密碼登錄的操作方法,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-02-02Java中l(wèi)ist集合的clear方法及空字符串的區(qū)別
這篇文章主要介紹了Java中l(wèi)ist集合的clear方法及空字符串的區(qū)別,在使用list?結(jié)合的時候習慣了?list=null?;在創(chuàng)建這樣的方式,但是發(fā)現(xiàn)使用list的clear?方法很不錯,尤其是有大量循環(huán)的時候<BR>list.clear()與list?=?null?區(qū)別,需要的朋友可以參考下2023-08-08