Java定義棧結(jié)構(gòu),并實(shí)現(xiàn)入棧、出棧操作完整示例
本文實(shí)例講述了Java定義棧結(jié)構(gòu),并實(shí)現(xiàn)入棧、出棧操作。分享給大家供大家參考,具體如下:
package com.example.demo; import java.util.ArrayList; public class Stack { ArrayList<Object> list = new ArrayList<>(); //入棧 public void push(Object o){ list.add(o); } //出棧 public Object pop(){ Object o = list.get(list.size() - 1); list.remove(o); return o; } //棧是否為空 public boolean isEmpty(){ return list.isEmpty(); } //棧大小 public int size(){ return list.size(); } //打印棧元素 @Override public String toString(){ return String.valueOf(list); } } class main{ public static void main(String[] args) { //創(chuàng)建一個(gè)棧 Stack stack = new Stack(); //入棧 for(int i=1;i<=10;i++){ stack.push(i); } //出棧 while(!stack.isEmpty()){ System.out.println("棧:" + stack.toString() + "\t棧大小為:" + stack.size() + "\t出棧元素為:" + stack.pop()); } } }
運(yùn)行結(jié)果:
棧:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 棧大小為:10 出棧元素為:10
棧:[1, 2, 3, 4, 5, 6, 7, 8, 9] 棧大小為:9 出棧元素為:9
棧:[1, 2, 3, 4, 5, 6, 7, 8] 棧大小為:8 出棧元素為:8
棧:[1, 2, 3, 4, 5, 6, 7] 棧大小為:7 出棧元素為:7
棧:[1, 2, 3, 4, 5, 6] 棧大小為:6 出棧元素為:6
棧:[1, 2, 3, 4, 5] 棧大小為:5 出棧元素為:5
棧:[1, 2, 3, 4] 棧大小為:4 出棧元素為:4
棧:[1, 2, 3] 棧大小為:3 出棧元素為:3
棧:[1, 2] 棧大小為:2 出棧元素為:2
棧:[1] 棧大小為:1 出棧元素為:1
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Java集合類(lèi)的組織結(jié)構(gòu)和繼承、實(shí)現(xiàn)關(guān)系詳解
這篇文章主要介紹了Java集合類(lèi)的組織結(jié)構(gòu)和繼承、實(shí)現(xiàn)關(guān)系,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11Spring Boot 2.2 正式發(fā)布,大幅性能提升 + Java 13 支持
隨著 Spring Framework 5.2.0 成功發(fā)布之后,Spring Boot 2.2 也緊跟其后,發(fā)布了第一個(gè)版本:2.2.0。下面就來(lái)一起來(lái)看看這個(gè)版本都更新了些什么值得我們關(guān)注的內(nèi)容2019-10-10使用log4j2打印mybatis的sql執(zhí)行日志方式
這篇文章主要介紹了使用log4j2打印mybatis的sql執(zhí)行日志方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09SpringMVC實(shí)現(xiàn)返回響應(yīng)的項(xiàng)目實(shí)踐
本文主要介紹了SpringMVC實(shí)現(xiàn)返回響應(yīng)的項(xiàng)目實(shí)踐,包含返回靜態(tài)頁(yè)面,返回?cái)?shù)據(jù),返回html片段等實(shí)例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Java并發(fā)教程之volatile關(guān)鍵字詳解
這篇文章主要給大家介紹了關(guān)于Java并發(fā)教程之volatile關(guān)鍵字的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11SpringBoot自定義bean綁定實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot自定義bean綁定,最常見(jiàn)的配置綁定的場(chǎng)景,是在自定義的bean中通過(guò)@Value注解將某個(gè)屬性和對(duì)應(yīng)的配置綁定2022-10-10spring為java.util.Properties類(lèi)型的屬性進(jìn)行賦值過(guò)程解析
這篇文章主要介紹了spring為java.util.Properties類(lèi)型的屬性進(jìn)行賦值過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01