LinkedList实现队列存储结构
package com.tercher.demo;
import java.util.LinkedList;
public class Queue {
//用LinkedList 实现队列的数据存储结构,先进先出
private LinkedList llist = new LinkedList();
//存放数据的方法
public void myAdd(Object obj){
llist.add(obj);
}
//取数据的方法
public void myGet(){
//pollFirst()方法是获取第一个并且移除
//当把pollFirst()改为pollLast()则实现的是堆栈的结构(先进后出)
System.out.println(llist.pollFirst());
}
//判断集合为空的方法
public boolean myEmpty(){
return llist.isEmpty();
}
public static void main(String[] args) {
Queue queue = new Queue();
queue.myAdd("java01===========");
queue.myAdd("java02===========");
queue.myAdd("java03===========");
queue.myAdd("java04===========");
queue.myAdd("java05===========");
while (!queue.myEmpty()) {
queue.myGet();//集合不为空,则全部取出
}
}
}
vector 也是List下面的一个实现类,它是线程安全的,所有存取效率低
arraylist 是线程不安全的,在平时的使用中速度快
package com.tercher.demo; import java.util.Enumeration;
import java.util.Vector; public class EnumDemo { public static void main(String[] args) {
/*
* 枚举就是Vector特有的取值方式
* 枚举和迭代器很像,实现都是一样的
* 被替换原因:
* 枚举的方法名称过长,不便于使用,于是被迭代器替换
*/
Vector v = new Vector();
v.add("java01");
v.add("java02");
v.add("java03"); Enumeration enu = v.elements();
while (enu.hasMoreElements()) {
Object obj = enu.nextElement();
System.out.println(obj);
} }
}
package com.tercher.demo; import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator; public class IteratorList { public static void main(String[] args) {
List list = new ArrayList();
list.add("liudehua");
list.add("zhoujielun");
list.add("canyilin"); ListIterator iter = list.listIterator();
/*
* ListIterator 是List集合特有的迭代器,
* 继承与Iterator ,
* 迭代时可以对集合进行修改,添加,
*/ while (iter.hasNext()) {
iter.add("张杰");//每次都添加一个
//list.add("json");
//ConcurrentModificationException 迭代时还对集合进行操作,会引发并发异常
Object ob = iter.next();
if (ob.equals("liudehua")) {
iter.set("zhangjie");//修改值
} }
System.out.println("=================");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
} }
}
LinkedList实现队列存储结构的更多相关文章
- Java队列存储结构及实现
一.队列(Queue) 队列是一种特殊的线性表,它只允许在表的前段(front)进行删除操作,只允许在表的后端(rear)进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头. 对于一个队 ...
- 队列(存储结构数组)--Java实现
/*队列:其实也是一种操作受限的线性表 *特点:先进先出 *队尾指针:负责元素的进队 *队头指针:负责元素的出队 *注意:普通队--容易浪费空间,一般队列使用最多的就是循环队列--指针环绕 *队列的实 ...
- 队列(存储结构双端链表)--Java实现
/*用链表实现的队列--使用的是双端链表 *注意:空指针错误肯定是引用没有指向对象 * */ public class MyLinkedQueue { private MyFirstAndLastLi ...
- Berkeley DB的数据存储结构——哈希表(Hash Table)、B树(BTree)、队列(Queue)、记录号(Recno)
Berkeley DB的数据存储结构 BDB支持四种数据存储结构及相应算法,官方称为访问方法(Access Method),分别是哈希表(Hash Table).B树(BTree).队列(Queue) ...
- 队列的存储结构和常见操作(c 语言实现)
一.队列(queue) 队列和栈一样,在实际程序的算法设计和计算机一些其他分支里,都有很多重要的应用,比如计算机操作系统对进程 or 作业的优先级调度算法,对离散事件的模拟算法,还有计算机主机和外部设 ...
- 线性存储结构-LinkedList
LinkedList内部采用链表的形式构建,是一个双向链表.除了继承List外,还继承了Deque接口,可以当做堆栈结构使用. private static final class Link<E ...
- C++编程练习(6)----“实现简单的队列的链式存储结构“
队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出.简称链队列. 实现代码如下: /* LinkQueue.h 头文件 */ #include<iostream> #defi ...
- 存储结构与邻接矩阵,深度优先和广度优先遍历及Java实现
如果看完本篇博客任有不明白的地方,可以去看一下<大话数据结构>的7.4以及7.5,讲得比较易懂,不过是用C实现 下面内容来自segmentfault 存储结构 要存储一个图,我们知道图既有 ...
- C#创建安全的栈(Stack)存储结构
在C#中,用于存储的结构较多,如:DataTable,DataSet,List,Dictionary,Stack等结构,各种结构采用的存储的方式存在差异,效率也必然各有优缺点.现在介绍一种后进先出的数 ...
随机推荐
- [实战] 给现有的NGINX二进制RPM包加新模块
[实战] 给现有的NGINX二进制RPM包加新模块 一.前言 在做 wiki 的镜像,这样以后文章就可以使用外链了(链接直接跳转墙内小站). 遇到的问题就是:我的 NGINX 包安装的时候图方便采用 ...
- IDEA 引入外部jar包 pom 配置,防止打包失败
1. <!--添加外部依赖--> <dependency> <groupId>Ice</groupId> ...
- Jsp入门实战上
前面讲了servlet入门实践现在开始介绍jsp入门实践,开发环境的搭建请参考我前面的tomcat的文章,jsp入门教程分为上下两部分,第一部分简单讲解:jsp语法的规范,以及三大编译指令,七个动作指 ...
- iOS学习笔记(7)——解析json中的中文
NSURL *url = [NSURL URLWithString:@"http://nycode.sinaapp.com/d.php"]; NSError *error = ni ...
- 3.2 Multi-Master Replication
摘要: 出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读.本文版权归作者所有,欢迎转载,但请保留该 ...
- FlowPortal-BPM——管理员、功能的权限设置
一.管理员设置 管理工具→安全组→安全组名称→管理授权→[添加管理人员]→[设置管理人员权限] 二.访问功能权限设置 (1)模块访问权限 (2)访问控制→[在需要的文件夹下]新建子资源→[资源名称]. ...
- c#开发Android初学(一)
我也是最近开始学习用c#开发android,最近找在好心网友那里下到了四个android开发安卓的视频(传智的)有想要的朋友可以留下邮箱 废话不多收,分享我最近一个星期的成果. 先看最主要的一个获取数 ...
- 图示NP, P, NP-Complete和NP-Hard问题
P问题是一类可以通过确定性图灵机(以下简称图灵机)在多项式时间(Polynomial time)内解决的问题集合. NP问题是一类可以通过非确定性图灵机( Non-deterministic Turi ...
- python实现计算器功能
import re def strip_operate(exp): # 合并多余的操作符 exp = exp.replace("+-", "-") exp = ...
- SpringMVC初写(六)静态资源设置
众所周知,SpringMVC的DispatchServlet是不可以以/*规则拦截请求的,否则会将JSP都拦截了,但有时候我们的请求路径是不能有后缀(Resful风格的接口需要),基于上述情况,我们可 ...