欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用泛型實(shí)現(xiàn)棧結(jié)構(gòu)的示例代碼

 更新時(shí)間:2022年08月17日 14:03:36   作者:小虛竹and掘金  
泛型是JAVA重要的特性,使用泛型編程,可以使代碼復(fù)用率提高。本文將利用泛型實(shí)現(xiàn)簡(jiǎn)單的棧結(jié)構(gòu),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

使用泛型實(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)文章

  • SpringBoot實(shí)現(xiàn)權(quán)限驗(yàn)證的示例步驟

    SpringBoot實(shí)現(xiàn)權(quán)限驗(yàn)證的示例步驟

    權(quán)限驗(yàn)證是一種用于控制對(duì)系統(tǒng)資源和操作的訪問(wèn)的機(jī)制。它允許開(kāi)發(fā)人員定義誰(shuí)可以執(zhí)行特定操作或訪問(wèn)特定資源,并確保只有經(jīng)過(guò)授權(quán)的用戶才能執(zhí)行這些操作,這篇文章主要介紹了SpringBoot實(shí)現(xiàn)權(quán)限驗(yàn)證,需要的朋友可以參考下
    2023-08-08
  • SpringBoot實(shí)現(xiàn)點(diǎn)餐系統(tǒng)的登錄與退出功能流程詳解

    SpringBoot實(shí)現(xiàn)點(diǎn)餐系統(tǒng)的登錄與退出功能流程詳解

    結(jié)束了Springboot+MyBatisPlus也是開(kāi)始了項(xiàng)目之旅,將從后端的角度出發(fā)來(lái)整理這個(gè)項(xiàng)目中重點(diǎn)業(yè)務(wù)功能的梳理與實(shí)現(xiàn)
    2022-10-10
  • 微服務(wù)中使用Maven BOM來(lái)管理你的版本依賴詳解

    微服務(wù)中使用Maven BOM來(lái)管理你的版本依賴詳解

    這篇文章主要介紹了微服務(wù)中使用Maven BOM來(lái)管理你的版本依賴,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 2021年最新Redis面試題匯總(2)

    2021年最新Redis面試題匯總(2)

    在程序員面試過(guò)程中redis相關(guān)的知識(shí)是常被問(wèn)到的話題。這篇文章主要介紹了幾道Redis面試題,整理一下分享給大家,感興趣的小伙伴們可以參考一下
    2021-07-07
  • java實(shí)現(xiàn)微信公眾號(hào)消息推送的方法詳解

    java實(shí)現(xiàn)微信公眾號(hào)消息推送的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用java實(shí)現(xiàn)微信公眾號(hào)消息推送的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • 大廠面試???快速排序冒泡排序算法

    大廠面試???快速排序冒泡排序算法

    快速排序由于排序效率在同為O(N*logN)的幾種排序方法中效率較高,因此經(jīng)常被采用,再加上快速排序思想----分治法也確實(shí)實(shí)用,因此很多軟件公司的筆試面試,包括像BAT、字節(jié)、美團(tuán)等知名IT公司都喜歡考查快速排序原理和手寫源碼
    2021-08-08
  • java JOptionPane類的介紹

    java JOptionPane類的介紹

    java JOptionPane類的介紹,需要的朋友可以參考一下
    2013-04-04
  • 使用Java實(shí)現(xiàn)加密之AES加解密

    使用Java實(shí)現(xiàn)加密之AES加解密

    這篇文章主要介紹了使用Java實(shí)現(xiàn)加密之AES加解密,AES為最常見(jiàn)的對(duì)稱加密算法,對(duì)稱加密算法也就是加密和解密用相同的密鑰,需要的朋友可以參考下
    2023-05-05
  • Java將中文轉(zhuǎn)化為拼音的簡(jiǎn)單代碼示例

    Java將中文轉(zhuǎn)化為拼音的簡(jiǎn)單代碼示例

    在我們使用手機(jī)通訊錄或各種APP的搜索功能時(shí),既可以根據(jù)中文搜索,也可以根據(jù)拼音搜索,這種時(shí)候就使用到了中文轉(zhuǎn)拼音的功能了,下面這篇文章主要給大家介紹了關(guān)于Java將中文轉(zhuǎn)化為拼音的簡(jiǎn)單代碼示例,需要的朋友可以參考下
    2024-03-03
  • JAVA日期處理類詳解

    JAVA日期處理類詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)的日期處理類,結(jié)合完整實(shí)例形式分析了Java針對(duì)日期的獲取、運(yùn)算、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2021-08-08

最新評(píng)論