请用LinkedList模拟栈数据结构的集合,并测试
    题目的意思是:
    你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟。

  1. package cn_LinkedList;
  2.  
  3. import java.util.LinkedList;
  4.  
  5. public class MyStack {
  6.  
  7. //定义一个LinkedList类的成员变量
  8. private LinkedList list = null;
  9.  
  10. /**
  11. * 构造方法
  12. * @list 调用LinkedList类的方法
  13. */
  14. public MyStack(){
  15. list = new LinkedList();
  16. }
  17. /**
  18. * 既然是集合,就要有添加元素的方法
  19. * @param obj 可添加任何类型的元素
  20. */
  21. public void add(Object obj){
  22. list.addFirst(obj);
  23. }
  24.  
  25. /**
  26. * 集合还要有提取元素的方法,但是这里要求模拟栈的方式,
  27. * 而栈是先进入的后出来,所以,要用removeFirst()方法
  28. * 存入 A/B/C , 提取C/B/A,提取出来就丢了,则下一个就成了第一个,依此类推
  29. */
  30. public void get(Object obj){
  31. list.removeFirst();
  32. }
  33. /**
  34. * 提取时,为了防止超出集合的容量出现错误,要加一个查询下一个元素是否存在的方法
  35. * @isEmpty 是boolean类型
  36. */
  37. public boolean isEmpty(){
  38. return list.isEmpty();
  39. }
  40. }
  41.  
  42. package cn_LinkedList;
  43.  
  44. import java.util.Iterator;
  45. import java.util.LinkedList;
  46.  
  47. /*
  48. 请用LinkedList模拟栈数据结构的集合,并测试
  49. */
  50. public class MyStackDemo {
  51.  
  52. public static void main(String[] args) {
  53.  
  54. //创建一个集合
  55. LinkedList list = new LinkedList();
  56.  
  57. //给集合添加元素
  58. list.addFirst("阿三");
  59. list.addFirst("阿四");
  60. list.addFirst("阿五");
  61. list.addFirst("阿六");
  62. list.addFirst("阿七");
  63. list.addFirst("阿八");
  64.  
  65. //遍历集合,并输出
  66. Iterator it = list.iterator();
  67. while(it.hasNext()){
  68. String s = (String)it.next();
  69. System.out.println(s);
  70. }
  71. }
  72. }

java 16 - 5 LinkedList模拟栈数据结构的集合的更多相关文章

  1. 使用LinkedList模拟栈数据结构的集合

    封装MyStack类 public class MyStack { private LinkedList link; //调用MyStack创建对象的时候其实是调用的LinkedList创建的是Lin ...

  2. 用LinkedList模拟栈数据结构的集合

    用Eclipse软件进行操作    有2种方法,左边为第一种,右边为第二种 创建class为MyStack 代码实现: package cn_LinkedList;   import java.uti ...

  3. Java基础知识强化之集合框架笔记29:使用LinkedList实现栈数据结构的集合代码(面试题)

    1. 请用LinkedList模拟栈数据结构的集合,并测试:  题目的意思是:     你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟,使用LinkedList功能方法封装成 ...

  4. 采用LinkedList来模拟栈数据结构的集合--先进后出

    三.用LinkedList来模拟栈数据结构的集合 /* * 自定义一个数据结构为LinkedList的集合类*/public class MyCollection_LinkedList { publi ...

  5. java 16 -4 LinkedList的特有功能

    了解 LinkedList的特有功能: A:添加功能 public void addFirst(Object e) public void addLast(Object e) B:获取功能 publi ...

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

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

  7. JAVA堆,栈的区别,用AarrayList、LinkedList自定义栈

    大家都知道java模拟机在运行时要开辟空间所以它有特定的五个内存划分: 1.寄存器:    2.本地方法区:    3.方法区:    4.栈内存:    5.堆内存: 但是我们今天来注重讲一下栈和堆 ...

  8. 使用LinkedList模拟一个堆栈或者队列数据结构

    使用LinkedList模拟一个堆栈或者队列数据结构. 堆栈:先进后出  如同一个杯子. 队列:先进先出  如同一个水管. import java.util.LinkedList; public cl ...

  9. Java:基于LinkedList实现栈和队列

    1.提供一组栈的接口,其底层关联到一个LinkedList(双端队列)实例.由于只暴露部分基于栈实现的接口,所以可以提供安全的栈实现. package junit; import java.util. ...

随机推荐

  1. MUI - 图片预览(perviewimage)的优化

    主要对mui图片全屏预览插件做了以下三点补充 1.添加了预览图片文字说明,使用的时候需要添加以下css及DOM属性 .mui-slider-img-content { position: absolu ...

  2. DOM应用实例(寻找房祖名)

    在上一篇我讲到了DOM的一些总结,这一次我就用我前几天做的一个游戏demo来讲讲DOM的一些用法吧. 首先简单说说这个游戏,如下图所示(大家忽略样式/(ㄒoㄒ)/~~).当玩家点击开始后,只要选择了正 ...

  3. absolute绝对定位可以实现相对定位

    没有设置定位值的absolute元素是个普通又不普通的元素,普通之处在于其依旧在DOM tree中,对margin等属性敏感: 不普通在于其实际的高宽都丢失了.这非常类似于浮动(float),浮动的本 ...

  4. .NET破解之谷歌地图下载助手-睿智版

    今天在整理文件是,发现手上还有个谷歌地图下载助手-睿智版,是C#写的.查了它们的官网,好像很久没有更新了,可能是垮了吧. 我把.NET程序破解分为三个阶段:软件分析,从软件使用上来分析功能的限制,即为 ...

  5. 身份证号码15位转18位 C#实现

    [身份证最后一位神秘X的由来]身份证中的“冷知识”1999年的今天,<国务院关于实行公民身份号码制度的决定>被发布,当年10月1日实施.为什么有的有X?这位数是根据前17位计算出的校验码. ...

  6. 用Gradle构建时,将密码等敏感信息放在build.gradle之外

    密码 在做版本release时你app的 build.gradle你需要定义 signingConfigs.此时你应该避免以下内容: 不要做这个 . 这会出现在版本控制中. signingConfig ...

  7. java多线程系列2-线程控制

    前面的文章已经介绍了有关线程的调度,接下来介绍如何使用方法对线程进行控制 1.线程休眠 public static void sleep(long millis) /* * 线程休眠 * public ...

  8. Objective-C 代码规范(Code Style)

    我们写出来的代码会给很多人看,为了使代码清晰简洁,方便阅读理解,都会统一遵从一定的代码规范,Objective-C同样如此. 主要参考规范: 1.Google Objective-C Style Gu ...

  9. centos查看硬件信息

    服务器硬件信息常见, 是经常要操作的事: 下面分享一些常见的硬件查看命令: 1.centos 下查看硬件信息内容非常全面. CentOS常用命令查看cpu more /proc/cpuinfo 2.C ...

  10. Asp.net MVC 4新项目中创建area的后续操作

    Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况. 无废话具 ...