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实现队列存储结构的更多相关文章

  1. Java队列存储结构及实现

    一.队列(Queue) 队列是一种特殊的线性表,它只允许在表的前段(front)进行删除操作,只允许在表的后端(rear)进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头. 对于一个队 ...

  2. 队列(存储结构数组)--Java实现

    /*队列:其实也是一种操作受限的线性表 *特点:先进先出 *队尾指针:负责元素的进队 *队头指针:负责元素的出队 *注意:普通队--容易浪费空间,一般队列使用最多的就是循环队列--指针环绕 *队列的实 ...

  3. 队列(存储结构双端链表)--Java实现

    /*用链表实现的队列--使用的是双端链表 *注意:空指针错误肯定是引用没有指向对象 * */ public class MyLinkedQueue { private MyFirstAndLastLi ...

  4. Berkeley DB的数据存储结构——哈希表(Hash Table)、B树(BTree)、队列(Queue)、记录号(Recno)

    Berkeley DB的数据存储结构 BDB支持四种数据存储结构及相应算法,官方称为访问方法(Access Method),分别是哈希表(Hash Table).B树(BTree).队列(Queue) ...

  5. 队列的存储结构和常见操作(c 语言实现)

    一.队列(queue) 队列和栈一样,在实际程序的算法设计和计算机一些其他分支里,都有很多重要的应用,比如计算机操作系统对进程 or 作业的优先级调度算法,对离散事件的模拟算法,还有计算机主机和外部设 ...

  6. 线性存储结构-LinkedList

    LinkedList内部采用链表的形式构建,是一个双向链表.除了继承List外,还继承了Deque接口,可以当做堆栈结构使用. private static final class Link<E ...

  7. C++编程练习(6)----“实现简单的队列的链式存储结构“

    队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出.简称链队列. 实现代码如下: /* LinkQueue.h 头文件 */ #include<iostream> #defi ...

  8. 存储结构与邻接矩阵,深度优先和广度优先遍历及Java实现

    如果看完本篇博客任有不明白的地方,可以去看一下<大话数据结构>的7.4以及7.5,讲得比较易懂,不过是用C实现 下面内容来自segmentfault 存储结构 要存储一个图,我们知道图既有 ...

  9. C#创建安全的栈(Stack)存储结构

    在C#中,用于存储的结构较多,如:DataTable,DataSet,List,Dictionary,Stack等结构,各种结构采用的存储的方式存在差异,效率也必然各有优缺点.现在介绍一种后进先出的数 ...

随机推荐

  1. Utils工具方法集插件详解

    var Utils = function(){}; Utils.text = { stripTags: function (val) { return val.replace(/<\/?[^&g ...

  2. 总结day23 ---- 网络编程,以及计算机基础概念

    计算机网络的发展及基础网络概念 问题:网络到底是什么?计算机之间是如何通信的? 早期 : 联机 以太网 : 局域网与交换机 广播 主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无 ...

  3. 总结day7 ---- 文件操作,读,写,追加,以及相关方法

    内容大纲 一:文件的基本操作, >常见问题 >encoding >绝对路径和相对路径的 二:文件的读写追加相关操作 >读(r, r+ ,rb,r+b) >写(w,w+,w ...

  4. 将参数传递给ASP.NET Core 2.0中的中间件

    问题 在ASP.NET Core的安装过程中,如何将参数传递给中间件? 解 在一个空的项目中添加一个POCO类来保存中间件的参数, publicclass GreetingOptions { publ ...

  5. SpringCloud2.0

    一.网站架构演变过程 从传统架构(单体应用)  到   分布式架构(以项目进行拆分)  到  SOA架构(面向服务架构)  到   微服务架构 1) 传统架构: 其实就是SSH或者SSM,属于单点应用 ...

  6. java处理数据库的CRUD

    package com.lhy.jdbc.util; import java.sql.Connection; import java.sql.PreparedStatement; import jav ...

  7. nginx: [alert] kill(3475, 15) failed (3: No such process) 解决方案

    cd nginx安装目录下/conf/nginx.conf 查看pid文件存放路径  (如果自己知道就不用执行上面这一步) 然后删除这个nginx.pid文件 然后再次杀掉nginx进程 搞定

  8. TortoiseGit学习系列之Windows上本地代码如何通过TortoiserGit提交到GitHub详解(图文)

    不多说,直接上干货! 前面博客 TortoiseGit学习系列之Windows上TortoiseGit的安装详解(图文) 上面博文给大家讲解了一下如何本地安装TortoiseGit. 这篇为大家讲一下 ...

  9. Unix/Linux文件类型及访问权限

    在Linux系统中,有7种文件类型. 普通文件 (regular file) 目录文件 (directory) 链接文件 (symbolic link) 管道文件 (FIFO) 套接字文件 (sock ...

  10. 10 阻塞队列 & 生产者-消费者模式

    原文:http://www.cnblogs.com/dolphin0520/p/3932906.html 在前面我们接触的队列都是非阻塞队列,比如PriorityQueue.LinkedList(Li ...