java使用泛型實(shí)現(xiàn)棧結(jié)構(gòu)示例分享
更新時(shí)間:2014年03月03日 10:15:26 作者:
泛型是Java SE5.0的重要特性,使用泛型編程可以使代碼獲得最大的重用。由于在使用泛型時(shí)要指明泛型的具體類型,這樣就避免了類型轉(zhuǎn)換。本實(shí)例將使用泛型來實(shí)現(xiàn)一個(gè)棧結(jié)構(gòu),并對(duì)其進(jìn)行測(cè)試
思路分析:既然是用泛型實(shí)現(xiàn)棧結(jié)構(gòu),那就不能用JDK自帶的stack包了,需要自己定義一個(gè)棧結(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ù)組實(shí)現(xiàn)棧(Java實(shí)現(xiàn))
- 淺談Java數(shù)組的一些使用方法及堆棧存儲(chǔ)
- Java中使用數(shù)組實(shí)現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)實(shí)例
- JAVA中堆、棧,靜態(tài)方法和非靜態(tài)方法的速度問題
- Java實(shí)現(xiàn)棧和隊(duì)列面試題
- java中棧和隊(duì)列的實(shí)現(xiàn)和API的用法(詳解)
- Java編程思想里的泛型實(shí)現(xiàn)一個(gè)堆棧類 分享
- Java使用Deque實(shí)現(xiàn)堆棧的方法
- 用Java代碼實(shí)現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)的基本方法歸納
- JAVA基于靜態(tài)數(shù)組實(shí)現(xiàn)棧的基本原理與用法詳解
相關(guān)文章
MyBatis的collection和association的使用解讀
這篇文章主要介紹了MyBatis的collection和association的使用解讀2023-12-12SpringMVC實(shí)現(xiàn)文件上傳下載的全過程
對(duì)于上傳功能,我們?cè)陧?xiàng)目中是經(jīng)常會(huì)用到的,比如用戶注冊(cè)的時(shí)候,上傳用戶頭像,這個(gè)時(shí)候就會(huì)使用到上傳的功能,而對(duì)于下載使用場(chǎng)景也很常見,下面這篇文章主要給大家介紹了關(guān)于SpringMVC實(shí)現(xiàn)文件上傳下載的相關(guān)資料,需要的朋友可以參考下2022-01-01SpringBoot security安全認(rèn)證登錄的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot security安全認(rèn)證登錄的實(shí)現(xiàn)方法,也就是使用默認(rèn)用戶和密碼登錄的操作方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02Java中l(wèi)ist集合的clear方法及空字符串的區(qū)別
這篇文章主要介紹了Java中l(wèi)ist集合的clear方法及空字符串的區(qū)別,在使用list?結(jié)合的時(shí)候習(xí)慣了?list=null?;在創(chuàng)建這樣的方式,但是發(fā)現(xiàn)使用list的clear?方法很不錯(cuò),尤其是有大量循環(huán)的時(shí)候<BR>list.clear()與list?=?null?區(qū)別,需要的朋友可以參考下2023-08-08