java 16 - 5 LinkedList模拟栈数据结构的集合
请用LinkedList模拟栈数据结构的集合,并测试
题目的意思是:
你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟。
package cn_LinkedList;
import java.util.LinkedList;
public class MyStack {
//定义一个LinkedList类的成员变量
private LinkedList list = null;
/**
* 构造方法
* @list 调用LinkedList类的方法
*/
public MyStack(){
list = new LinkedList();
}
/**
* 既然是集合,就要有添加元素的方法
* @param obj 可添加任何类型的元素
*/
public void add(Object obj){
list.addFirst(obj);
}
/**
* 集合还要有提取元素的方法,但是这里要求模拟栈的方式,
* 而栈是先进入的后出来,所以,要用removeFirst()方法
* 存入 A/B/C , 提取C/B/A,提取出来就丢了,则下一个就成了第一个,依此类推
*/
public void get(Object obj){
list.removeFirst();
}
/**
* 提取时,为了防止超出集合的容量出现错误,要加一个查询下一个元素是否存在的方法
* @isEmpty 是boolean类型
*/
public boolean isEmpty(){
return list.isEmpty();
}
}
package cn_LinkedList;
import java.util.Iterator;
import java.util.LinkedList;
/*
请用LinkedList模拟栈数据结构的集合,并测试
*/
public class MyStackDemo {
public static void main(String[] args) {
//创建一个集合
LinkedList list = new LinkedList();
//给集合添加元素
list.addFirst("阿三");
list.addFirst("阿四");
list.addFirst("阿五");
list.addFirst("阿六");
list.addFirst("阿七");
list.addFirst("阿八");
//遍历集合,并输出
Iterator it = list.iterator();
while(it.hasNext()){
String s = (String)it.next();
System.out.println(s);
}
}
}
java 16 - 5 LinkedList模拟栈数据结构的集合的更多相关文章
- 使用LinkedList模拟栈数据结构的集合
封装MyStack类 public class MyStack { private LinkedList link; //调用MyStack创建对象的时候其实是调用的LinkedList创建的是Lin ...
- 用LinkedList模拟栈数据结构的集合
用Eclipse软件进行操作 有2种方法,左边为第一种,右边为第二种 创建class为MyStack 代码实现: package cn_LinkedList; import java.uti ...
- Java基础知识强化之集合框架笔记29:使用LinkedList实现栈数据结构的集合代码(面试题)
1. 请用LinkedList模拟栈数据结构的集合,并测试: 题目的意思是: 你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟,使用LinkedList功能方法封装成 ...
- 采用LinkedList来模拟栈数据结构的集合--先进后出
三.用LinkedList来模拟栈数据结构的集合 /* * 自定义一个数据结构为LinkedList的集合类*/public class MyCollection_LinkedList { publi ...
- java 16 -4 LinkedList的特有功能
了解 LinkedList的特有功能: A:添加功能 public void addFirst(Object e) public void addLast(Object e) B:获取功能 publi ...
- Java LinkedList特有方法程序小解 && 使用LinkedList 模拟一个堆栈或者队列数据结构。
package Collection; import java.util.LinkedList; /* LinkedList:特有的方法 addFirst()/addLast(); getFirst( ...
- JAVA堆,栈的区别,用AarrayList、LinkedList自定义栈
大家都知道java模拟机在运行时要开辟空间所以它有特定的五个内存划分: 1.寄存器: 2.本地方法区: 3.方法区: 4.栈内存: 5.堆内存: 但是我们今天来注重讲一下栈和堆 ...
- 使用LinkedList模拟一个堆栈或者队列数据结构
使用LinkedList模拟一个堆栈或者队列数据结构. 堆栈:先进后出 如同一个杯子. 队列:先进先出 如同一个水管. import java.util.LinkedList; public cl ...
- Java:基于LinkedList实现栈和队列
1.提供一组栈的接口,其底层关联到一个LinkedList(双端队列)实例.由于只暴露部分基于栈实现的接口,所以可以提供安全的栈实现. package junit; import java.util. ...
随机推荐
- access的逻辑类型
Alter TABLE [表名] ADD [新增字段] BOOLEAN或者Alter TABLE [表名] ADD [新增字段] YESNO 或者Alter TABLE [表名] ADD [新增字段] ...
- Windows校验文件哈希hash的两种常用方式
大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像 ...
- SPJS Upload for SharePoint: Custom upload page for uploading documents to various document libraries in a site collection
http://spjsblog.com/2013/12/08/spjs-upload-for-sharepoint-custom-upload-page-for-uploading-documents ...
- 2015年第6本(英文第5本):Harry Potter 1 哈利波特与魔法石
书名: Harry Potter 1 – Harry Potter and the Sorcerer’s Stone 作者:J.K. Rowling 单词数:7.8万 不重复单词数:6000(我怎么感 ...
- iOS设计模式之备忘录模式
备忘录模式 基本理解 这个模式有三个关键角色:原发器(Originator).备忘录(Memento).看管人(caretaker).三者的基本关系是:原发器创建一个包含其状态的备忘录,并传给看管人. ...
- cell自适应高度
MyModel.h #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface MyModel : ...
- swift2.2当中的inout参数的使用
在Swift中,初次接触inout关键字以及它的用法,可能会让我们想起C/C++中的指针,但实际上Swift中inout只不过是按值传递,然后再写回原变量,而不是按引用传递: An in-out pa ...
- MYSQL的慢查询两个方法
对于排查问题找出性能瓶颈来说,最容易发现并解决的问题就是MYSQL的慢查询以及没有得用索引的查询. ================================================== ...
- gerrit添加新用户
默认gerrit的web服务端口为8080,通过apache的反向代理就可以使用标准的80(HTTP)来访问gerrit的web界面,在apache的配置文件httpd.conf添加如下反向代理和HT ...
- ORACLE 创建与使用视图
一.what(什么是视图?) 1.视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询 ...