Java使用泛型實(shí)現(xiàn)棧結(jié)構(gòu)的示例代碼
使用泛型實(shí)現(xiàn)棧結(jié)構(gòu)
1.題目
泛型是JAVA重要的特性,使用泛型編程,可以使代碼復(fù)用率提高。
實(shí)現(xiàn):使用泛型實(shí)現(xiàn)棧結(jié)構(gòu)
2.解題思路
創(chuàng)建一個(gè)泛型類:Stack。
定義3個(gè)方法,入棧的push方法,出棧的pop方法,還有判斷棧是否為空的empty()方法。
在底層實(shí)現(xiàn)上,使用LinkedList作為容器。
泛型類是含有一個(gè)或多個(gè)類型參數(shù)的類。定義泛型類很簡(jiǎn)單,只需要在類的名稱后面加上“<”和“>”,并在其中指明類型參數(shù)。
3.代碼詳解
Stack
package com.xiaoxuzhu;
import java.util.LinkedList;
/**
* Description:
*
* @author xiaoxuzhu
* @version 1.0
*
* <pre>
* 修改記錄:
* 修改后版本 修改人 修改日期 修改內(nèi)容
* 2022/5/10.1 xiaoxuzhu 2022/5/10 Create
* </pre>
* @date 2022/5/10
*/
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
package com.xiaoxuzhu;
/**
* Description:
*
* @author xiaoxuzhu
* @version 1.0
*
* <pre>
* 修改記錄:
* 修改后版本 修改人 修改日期 修改內(nèi)容
* 2022/5/10.1 xiaoxuzhu 2022/5/10 Create
* </pre>
* @date 2022/5/10
*/
public class StackTest {
public static void main(String[] args) {
Stack<String> stack = new Stack<String>();
System.out.println("向棧中增加字符串:");
System.out.println("虛竹哥真帥");
System.out.println("虛竹哥yyds");
System.out.println("虛竹哥好厲害");
stack.push("虛竹哥真帥"); //向棧中增加字符串
stack.push("虛竹哥yyds"); //向棧中增加字符串
stack.push("虛竹哥好厲害"); //向棧中增加字符串
System.out.println("從棧中取出字符串:");
while (!stack.empty()) {
System.out.println((String) stack.pop());//刪除棧中全部元素并進(jìn)行輸出
}
}
}

多學(xué)一個(gè)知識(shí)點(diǎn)
1、泛型參數(shù)的命名一般使用單個(gè)的大寫字母,如果對(duì)于任意類型可以使用字母T等。
2、泛型類型的參數(shù)只能使用類類型,而不能使用基本數(shù)據(jù)類型。
到此這篇關(guān)于Java使用泛型實(shí)現(xiàn)棧結(jié)構(gòu)的示例代碼的文章就介紹到這了,更多相關(guān)Java棧結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)DBF文件讀寫操作的完整指南
DBF是一種數(shù)據(jù)庫(kù)文件格式,主要存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),本文將詳細(xì)介紹如何在Java中使用JDBF庫(kù)來(lái)讀取和創(chuàng)建DBF文件,有需要的小伙伴可以參考一下2025-04-04
Service層異常拋到Controller層處理還是直接處理問(wèn)題分析
這篇文章主要為大家介紹了Service層異常拋到Controller層處理還是直接處理的問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
RestTemplate發(fā)送請(qǐng)求時(shí)Cookie的影響及注意事項(xiàng)說(shuō)明
這篇文章主要介紹了RestTemplate發(fā)送請(qǐng)求時(shí)Cookie的影響及注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-07-07
SpringSecurity中@PermitAll與@PreAuthorize的實(shí)現(xiàn)
@PermitAll和@PreAuthorize都是處理安全性的強(qiáng)大工具,本文主要介紹了SpringSecurity中@PermitAll與@PreAuthorize的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07
IDEA去除掉代碼中虛線、波浪線和下劃線實(shí)線的方法
初次安裝使用IDEA,總是能看到導(dǎo)入代碼后,出現(xiàn)很多的波浪線,下劃線和虛線,這是IDEA給我們的一些提示和警告,但是有時(shí)候我們并不需要,反而會(huì)讓人看著很不爽,這里簡(jiǎn)單記錄一下自己的調(diào)整方法,供其他的小伙伴在使用的時(shí)候參考2024-09-09
關(guān)于Spring中Bean的創(chuàng)建進(jìn)行更多方面的控制
今天小編就為大家分享一篇關(guān)于關(guān)于Spring中Bean的創(chuàng)建進(jìn)行更多方面的控制,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01

