1. 请用LinkedList模拟栈数据结构的集合,并测试:

  题目的意思是:
       你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟,使用LinkedList功能方法封装成自己的方法。

2. 代码解析:

(1)定义自己集合类MyStack,模拟栈数据结构( 先进后出 )

 package cn.itcast_05;

 import java.util.LinkedList;

 /**
* 自定义的栈集合
*
* @author Mr He
* @version V1.0
*/
public class MyStack {
private LinkedList link; public MyStack() {
link = new LinkedList();
} public void add(Object obj) { // 底层调用的是LinkedList的addFirst()方法,每次都在起始位置添加
link.addFirst(obj);
} public Object get() { //底层调用的是LinkedList的removeFirst()方法,取出数据(弹栈),原来的集合中不再含有这个元素。
// return link.getFirst();
return link.removeFirst();
} public boolean isEmpty() {//底层调用的是LinkedList的isEmpty()方法,判断集合内部数据是否为空
return link.isEmpty();
}
}

(2)MyStack的测试:

 package cn.itcast_05;

 /*
* MyStack的测试
*/
public class MyStackDemo {
public static void main(String[] args) {
// 创建集合对象
MyStack ms = new MyStack(); // 添加元素
ms.add("hello");
ms.add("world");
ms.add("java"); // System.out.println(ms.get());
// System.out.println(ms.get());
// System.out.println(ms.get());
// NoSuchElementException 栈数据结构获取的时候,它是弹栈(出栈),原来集合中数据会一个个清除(先进后出),遍历的时候要防止集合为空,加判断
// System.out.println(ms.get()); while(!ms.isEmpty()){
System.out.println(ms.get());
}
}
}

运行效果如下:

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

  1. Java基础知识强化之IO流笔记45:IO流练习之 把集合中的数据存储到文本文件案例

    1. 把集合中的数据存储到文本文件案例:    需求:把ArrayList集合中的字符串数据存储到文本文件 ? (1)分析:通过题目的意思我们可以知道如下的一些内容,ArrayList集合里存储的是字 ...

  2. Java基础知识强化之IO流笔记29:BufferedOutputStream / BufferedInputStream(字节缓冲流)之BufferedInputStream读取数据

    1. BufferedInputStream读取数据 BufferedInputStream构造方法,如下: 构造方法摘要 BufferedInputStream(InputStream in)    ...

  3. Java基础知识强化之IO流笔记68:Properties和IO流集合使用

    1. Properties和IO流集合使用 这里的集合必须是Properties集合:  public void load(Reader reader):把文件中的数据读取到集合中  public v ...

  4. Java基础知识强化之IO流笔记51:IO流练习之 键盘录入学生信息按照总分排序写入文本文件中的案例

    1.  键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分排序写入文本文件中 分析:   A:创建学生类   B:创建集合对象      TreeSet<Student>   ...

  5. Java基础知识强化之IO流笔记66:Properties的概述 和 使用(作为Map集合使用)

    1. Properties的概述  Properties:属性集合类.是一个可以和IO流相结合使用的集合类. 该类主要用于读取以项目的配置文件(以.properties结尾的文件 和 xml文件). ...

  6. Java基础知识强化之IO流笔记46:IO流练习之 把文本文件中数据存储到集合中的案例

    1.  把文本文件中数据存储到集合中      需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合. 分析:      通过题目的意思我们可以知道如下的一些内容,      数据 ...

  7. Java基础知识强化之IO流笔记77:NIO之 Selector

    Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件.这样,一个单独的线程可以管理多个channel,从而管理多个网络连接. 1.  ...

  8. Java基础知识强化之网络编程笔记18:Android网络通信之 使用HttpClient的Post / Get 方式读取网络数据(基于HTTP通信技术)

    使用HttpClient进行Get方式通信,通过HttpClient建立网络链接,使用HttpGet方法读取数据,并且通过Response获取Entity返回值. 使用HttpClient进行Post ...

  9. Java基础知识强化之网络编程笔记17:Android网络通信之 使用Http的Post方式读取网络数据(基于HTTP通信技术)

    使用Http的Post方式与网络交互通信.Post方式需要向网络传输一部分数据,同时具有输入流和输出流. 详见:Android(java)学习笔记210:采用post请求提交数据到服务器(qq登录案例 ...

  10. Java基础知识强化之网络编程笔记16:Android网络通信之 使用Http的Get方式读取网络数据(基于HTTP通信技术)

    使用Http的Get方式读取网络数据,使用Get方式与网络通信是最常见的Http通信,建立链接之后就可以通过输入流读取网络数据. 详见:Android(java)学习笔记209:采用get请求提交数据 ...

随机推荐

  1. 关于scroll无法绑定的问题

    关于jQuery的scroll([[data],fn])事件, 概述是:当用户滚动指定的元素(元素包括:所有可滚动的元素和 window 对象)时,会触发该事件. 如绑定窗口对象: $(window) ...

  2. BZOJ 4052 Magical GCD

    Description 给出一个长度在\(100000\)以内的正整数序列,大小不超过\(10^{12}\).求一个连续子序列,使得在所有的连续子序列中,它们的GCD值乘以它们的长度最大. Input ...

  3. java中如何实现全局变量

    有时一个项目中会多处涉及到路径,当你把这个项目移植到别的电脑上时就要一一修改这些路径,过程十分繁琐,所以一个全局变量在这时是必不可少的. 遗憾的是java等oo语言并没有全局变量,这怎么办呢?下面介绍 ...

  4. spring没能给struts2创建出action,可能出现的原因

    spring没能给struts2创建出action,可能出现的原因: 1.没有加载struts2-spring-plugin-2.1.8.1.jar 2.包冲突,删除asm.jar(网上说的) 3.s ...

  5. 【HDOJ】4587 TWO NODES

    Tarjan解无向图的割点和桥,参考白书. /* 4587 */ #include <iostream> #include <vector> #include <algo ...

  6. ♫【Git】

    git - 简易指南 (√) fatal:remote error:You can't push to git://github.com/username/*.git  (√) git clone g ...

  7. linux远程管理工具

    一.常见的远程管理控制方式主要有以下几种 ①RDP(remote desktop protocol)协议 远程桌面协议,我们常用的windows操作系统就是的远程桌面管理就是基于该协议的. ②teln ...

  8. Oracle自动增长的序列号

    首先建立序列: Create sequence user_id Increment Start Maxvalue .0E28 Minvalue nocycle Cache Noorder; 然后建立触 ...

  9. [PHP] 跳转以及回到原来的地址

    回到原来的地址: 1.PHP(PHP代码) Header('Location:'.$_SERVER["HTTP_REFERER"]); 2.JavaScript(相当于后退按钮,- ...

  10. iOS设备的重力感应

    重力感应是每台iOS设备都具备的功能,所以在应用用好重力感应会有意想不到的效果 1.添加CoreMotion框架 2.在需要使用重力感应的类中添加头文件 #import <CoreMotion/ ...