Java定義棧結(jié)構(gòu),并實現(xiàn)入棧、出棧操作完整示例
本文實例講述了Java定義棧結(jié)構(gòu),并實現(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)建一個棧 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()); } } }
運行結(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)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
Java集合類的組織結(jié)構(gòu)和繼承、實現(xiàn)關(guān)系詳解
這篇文章主要介紹了Java集合類的組織結(jié)構(gòu)和繼承、實現(xiàn)關(guān)系,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11Spring Boot 2.2 正式發(fā)布,大幅性能提升 + Java 13 支持
隨著 Spring Framework 5.2.0 成功發(fā)布之后,Spring Boot 2.2 也緊跟其后,發(fā)布了第一個版本:2.2.0。下面就來一起來看看這個版本都更新了些什么值得我們關(guān)注的內(nèi)容2019-10-10使用log4j2打印mybatis的sql執(zhí)行日志方式
這篇文章主要介紹了使用log4j2打印mybatis的sql執(zhí)行日志方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09SpringMVC實現(xiàn)返回響應(yīng)的項目實踐
本文主要介紹了SpringMVC實現(xiàn)返回響應(yīng)的項目實踐,包含返回靜態(tài)頁面,返回數(shù)據(jù),返回html片段等實例,具有一定的參考價值,感興趣的可以了解一下2024-02-02Java并發(fā)教程之volatile關(guān)鍵字詳解
這篇文章主要給大家介紹了關(guān)于Java并發(fā)教程之volatile關(guān)鍵字的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11spring為java.util.Properties類型的屬性進(jìn)行賦值過程解析
這篇文章主要介紹了spring為java.util.Properties類型的屬性進(jìn)行賦值過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01