为了达到更好的封装效果,应该把使用LinkedLIst的方法进行进栈(list.addLast(obj))、弹栈(list.removeLast())、判断栈是否为空(list.isEmpty())封装到一个类中,然后通过类名进行调用所需要的方法。

创建一个Stack类

package com.soar.list;import java.util.LinkedList;@SuppressWarnings("rawtypes")
public class Stack { private LinkedList list = new LinkedList();/** 模拟进栈方法*/public void in(Object obj){list.addLast(obj);}/** 模拟出栈方法*/public Object out(){return list.removeLast();}/** 模拟栈结构是否为空*/public boolean isEmpty(){return list.isEmpty();}}

创建一个LinkedLIst类

package com.soar.list;import java.util.LinkedList;@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo4_LinkedList {
/** 用LinkedList模拟栈结构*/public static void main(String[] args) {//demo_Stack();Stack s = new Stack();  s.in("a");              //进栈    a,b,c,ds.in("b");s.in("c");s.in("d");while(!s.isEmpty()){    //判断栈是否为空System.out.println(s.out());    //弹栈   d,c,b,a}}private static void demo_Stack() {LinkedList list = new LinkedList();     //创建集合对象list.add("a");list.add("b");list.add("c");list.add("d");/*      System.out.println(list.removeLast());  //dSystem.out.println(list.removeLast());  //cSystem.out.println(list.removeLast());  //bSystem.out.println(list.removeLast());  //a
*/      while(!list.isEmpty()){System.out.println(list.removeLast());}}}

转载于:https://www.cnblogs.com/soarsir/p/7652286.html

Java_基础—用LinkedList模拟栈数据结构的集合并测试相关推荐

  1. 集合框架(用LinkedList实现栈结构的集合代码)

    package cn.itcast_05; import java.util.Iterator; import java.util.LinkedList; /* *请用LinkedList模拟栈数据结 ...

  2. 【java进阶06:数组】使用一维数组模拟栈数据结构 使用二维数组模拟酒店,酒店管理系统 Arrays工具类 冒泡排序算法、选择排序算法、二分法

    目录 数组 二维数组 总结 作业 Arrays工具类 数组 数组总结 及 静态初始化一维数组 /* Array:1.java语言中的数组是一种引用数据类型,不属于基本数据类型,数组的父类是Object ...

  3. 模拟栈数据结构改进版(使用异常)

    代码 /*第一题:编写程序,使用一维数组,模拟栈数据结构.要求:1.这个栈可以存储java中的任何引用类型的数据.2.在栈中提供push方法模拟压栈.(栈满了,要有提示信息.)3.在栈中提供pop方法 ...

  4. 编写程序,使用一维数组,模拟栈数据结构。 要求: 1、这个栈可以存储java中的任何引用类型的数据。 2、在栈中提供push方法模拟压栈。(栈满了,要有

    代码 /*第一题:编写程序,使用一维数组,模拟栈数据结构.要求:1.这个栈可以存储java中的任何引用类型的数据.2.在栈中提供push方法模拟压栈.(栈满了,要有提示信息.)3.在栈中提供pop方法 ...

  5. 用LinkedList模拟栈(Java容器)

    栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线形表.栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶.需要读数据的时候从栈顶开始弹出数据(最 ...

  6. LinkedList 模拟栈和队列

    LinkedList 比ArrayList 提供了更多的方法,其中有两个方法可以实现栈和队列的操作. removeFirst() 移除并返回此列表中的第一个元素. removeLast() 移除并返回 ...

  7. python基础语法-三大内建数据结构之集合(set)

    定义 set(集合):一组无重复无序的数据.就像数学中集合的概念.它没有标准的括号包裹,[]表示list,()表示tuple,{}表示dict. 但是我们可以用带值的大括号来定义. 还有一种集合叫冰冻 ...

  8. 用LinkedList方法模拟栈的数据结构

    import java.util.LinkedList; /** * * @author Ginfer * @virsion * HP * linkedlist * HP * 自定义栈集合 * 栈的数 ...

  9. Java LinkedList特有方法程序小解 使用LinkedList 模拟一个堆栈或者队列数据结构。...

    package Collection;import java.util.LinkedList;/* LinkedList:特有的方法 addFirst()/addLast(); getFirst()/ ...

最新文章

  1. 重构第15天 移除重复的代码(Remove Duplication)
  2. Timer与ScheduledExecutorService间的选择
  3. 【NOI2012】骑行川藏【拉格朗日乘数法】【二分套二分】
  4. sql注入语句示例大全_SQL Group By语句用示例语法解释
  5. redis高级-------2
  6. android studio中的适配器,如何在Android Studio中测试回收器视图适配器
  7. AVR Studio 5 使用初体验及完整版下载地址
  8. android华为指纹开发_2020指纹芯片行业市场调研分析报告
  9. Ubuntu下Linux系统文件恢复
  10. RH413-测试文件的特殊权限
  11. 三维计算机软件图,三维cad看图
  12. LQR控制算法推导以及简单分析
  13. 每次离开总是 装做轻松的样子 微笑着说回去吧 转身泪湿眼底
  14. IE8 访问https安全证书错误;导航阻止 解决办法 《转》
  15. 360与腾讯之争——娱乐化时代的产物
  16. ubuntu系统学习(1) 测网速命令/实时显示网速speedometer
  17. 设计模式四:用一个生产手机的简单例子说清楚工厂模式
  18. python中append什么意_python里append是什么
  19. MODBUS CRC16 工具类
  20. JPBC密码学库封装函数

热门文章

  1. java 不定参数_Java不定参数
  2. mysql数据库隐式表_解析MySQL隐式转换问题
  3. 樊登讲亲密关系_看了《亲密关系》这本书,原来吵架是牺牲对方来保护自己
  4. neo4j 查 match
  5. opencv-api pyrDown
  6. d3 v5 api Axes
  7. C语言isalnum函数介绍、示例和实现
  8. Centos7设置静态IP后无法上网的解决方法
  9. windows 覆盖linux,您是否曾考虑过用Linux替换Windows?
  10. python的excell库_Python中使用第三方库xlrd来写入Excel文件示例