Java使用泛型實現(xiàn)棧結(jié)構(gòu)的示例代碼
使用泛型實現(xiàn)棧結(jié)構(gòu)
1.題目
泛型是JAVA重要的特性,使用泛型編程,可以使代碼復用率提高。
實現(xiàn):使用泛型實現(xiàn)棧結(jié)構(gòu)
2.解題思路
創(chuàng)建一個泛型類:Stack。
定義3個方法,入棧的push方法,出棧的pop方法,還有判斷棧是否為空的empty()方法。
在底層實現(xiàn)上,使用LinkedList作為容器。
泛型類是含有一個或多個類型參數(shù)的類。定義泛型類很簡單,只需要在類的名稱后面加上“<”和“>”,并在其中指明類型參數(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());//刪除棧中全部元素并進行輸出 } } }
多學一個知識點
1、泛型參數(shù)的命名一般使用單個的大寫字母,如果對于任意類型可以使用字母T等。
2、泛型類型的參數(shù)只能使用類類型,而不能使用基本數(shù)據(jù)類型。
到此這篇關于Java使用泛型實現(xiàn)棧結(jié)構(gòu)的示例代碼的文章就介紹到這了,更多相關Java棧結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot實現(xiàn)權(quán)限驗證的示例步驟
權(quán)限驗證是一種用于控制對系統(tǒng)資源和操作的訪問的機制。它允許開發(fā)人員定義誰可以執(zhí)行特定操作或訪問特定資源,并確保只有經(jīng)過授權(quán)的用戶才能執(zhí)行這些操作,這篇文章主要介紹了SpringBoot實現(xiàn)權(quán)限驗證,需要的朋友可以參考下2023-08-08SpringBoot實現(xiàn)點餐系統(tǒng)的登錄與退出功能流程詳解
結(jié)束了Springboot+MyBatisPlus也是開始了項目之旅,將從后端的角度出發(fā)來整理這個項目中重點業(yè)務功能的梳理與實現(xiàn)2022-10-10