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等结构,各种结构采用的存储的方式存在差异,效率也必然各有优缺点.现在介绍一种后进先出的数 ...
随机推荐
- Google 推出新搜索引擎以查找数据集
简评:谷歌推出了一个用于寻找数据集的新搜索引擎,有点厉害! 该工具可以更轻松地访问 Web 上数千个数据存储库中的数百万个数据集,当前还处于测试版: 什么是 Dataset Search? 数 ...
- 《条目二十九:对于逐个字符的输入请考虑istreambuf_iterator》
<条目二十九:对于逐个字符的输入请考虑istreambuf_iterator> 1.使用: ifstream inputfile("xxxx"); string fil ...
- shell-005:备份。
# 这个案例感觉有点绕,如果是本地机器备份完全没必要.下面带颜色的写法值得我们借鉴,所以还是做下笔记吧 #!/bin/bash # 找出//目录下所有txt结尾的文件,且形成一个列表清单的文件 fi ...
- Redis学习笔记(6)——SpringDataRedis入门
一.SpringDataRedis简介 Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, ...
- Unity脚本生命周期与执行顺序
文章目录 脚本生命周期 MonoBehavior生命周期图 脚本执行顺序 自定义执行顺序 在Unity中,脚本可以理解为附加在游戏对象上的用于定义游戏对象行为的指令代码.必须绑定在游戏对象上才能开始它 ...
- [BZOJ 5323][Jxoi2018]游戏
传送门 \(\color{green}{solution}\) 它每次感染的人是它的倍数,那么我们只需要找出那些除了自己以外在\(l\), \(r\)内没有别的数是 它的约数的数,在这里称其为关键数. ...
- 洛谷 P2473 [SCOI2008]奖励关(状压dp+期望)
题面 luogu 题解 \(n \leq 15\) 状压 \(f[i][S]\)表示第\(i\)轮,吃过的集合为\(S\) 正着转移好像有点复杂 考虑逆推转移(正着转移应该也行) \(f[i][S]\ ...
- BLE pairing vs. bonding
differece between pairing and bonding .see
- 论文分享NO.3(by_xiaojian)
论文分享第三期-2019.03.29 Fully convolutional networks for semantic segmentation,CVPR 2015,FCN 一.全连接层与全局平均池 ...
- (转)DB2和 Oracle的并发控制(锁)比较
DB2和 Oracle的并发控制(锁)比较 牛 新庄2005 年 12 月 26 日发布 原文:https://www.ibm.com/developerworks/cn/data/library/t ...