日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【第64題】必學(xué)的泛型1-使用泛型實(shí)現(xiàn)棧結(jié)構(gòu)

 小虛竹 2022-05-24 發(fā)布于福建

回城傳送–》《JAVA筑基100例》

文章目錄

零、前言

今天是學(xué)習(xí) JAVA語(yǔ)言 打卡的第64天,每天我會(huì)提供一篇文章供群成員閱讀( 不需要訂閱付錢 ),讀完文章之后,按解題思路,自己再實(shí)現(xiàn)一遍。在小虛竹JAVA社區(qū) 中對(duì)應(yīng)的 【打卡貼】打卡,今天的任務(wù)就算完成了。

因?yàn)榇蠹叶荚谝黄饘W(xué)習(xí)同一篇文章,所以有什么問題都可以在群里問,群里的小伙伴可以迅速地幫到你,一個(gè)人可以走得很快,一群人可以走得很遠(yuǎn),有一起學(xué)習(xí)交流的戰(zhàn)友,是多么幸運(yùn)的事情。

學(xué)完后,自己寫篇學(xué)習(xí)報(bào)告的博客,可以發(fā)布到小虛竹JAVA社區(qū) ,供學(xué)弟學(xué)妹們參考。

我的學(xué)習(xí)策略很簡(jiǎn)單,題海策略+ 費(fèi)曼學(xué)習(xí)法。如果能把這100題都認(rèn)認(rèn)真真自己實(shí)現(xiàn)一遍,那意味著 JAVA語(yǔ)言 已經(jīng)筑基成功了。后面的進(jìn)階學(xué)習(xí),可以繼續(xù)跟著我,一起走向架構(gòu)師之路。

一、題目描述

題目:泛型是JAVA重要的特性,使用泛型編程,可以使代碼復(fù)用率提高。

實(shí)現(xiàn):使用泛型實(shí)現(xiàn)棧結(jié)構(gòu)

二、解題思路

創(chuàng)建一個(gè)泛型類:Stack。

定義3個(gè)方法,入棧的push方法,出棧的pop方法,還有判斷棧是否為空的empty()方法。

在底層實(shí)現(xiàn)上,使用LinkedList作為容器。

泛型類是含有一個(gè)或多個(gè)類型參數(shù)的類。定義泛型類很簡(jiǎn)單,只需要在類的名稱后面加上“<”和“>”,并在其中指明類型參數(shù)。

三、代碼詳解

Stack

package com.xiaoxuzhu;import java.util.LinkedList;/**
 * Description: 
 *
 * @author xiaoxuzhu
 * @version 1.0
 *
 * <pre>
 * 修改記錄:
 * 修改后版本        修改人修改日期修改內(nèi)容
 * 2022/5/10.1    xiaoxuzhu2022/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    xiaoxuzhu2022/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ù)類型。

四、推薦專欄

《JAVA從零到壹》

《JAVA筑基100例》

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章