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. Android-获取手机已经安装的程序

    有时候我们会查询手机里面是否安装了某个程序,或者获取已经安装软件名称的集合. android这边提供了相应的接口. [java] view plaincopy final PackageManager ...

  2. 浅谈Android选项卡(三)

    上一节介绍了TabActivity的简单用法,但是现在的Api中已经不建议使用了,建议使用Fragment来替代以上的功能,下面介绍下使用Fragment和ViewPager的结合使用. http:/ ...

  3. Dubbo 自定义异常,你是怎么处理的?

    前言 记录Dubbo对于自定义异常的处理方式. 实现目标 服务层异常,直接向上层抛出,web层统一捕获处理 如果是系统自定义异常,则返回{"code":xxx,"msg& ...

  4. 常用的PHP超全局变量$_SERVER 收集整理

    传送带:https://www.cnblogs.com/rendd/p/6182918.html

  5. 51.RocketMQ 顺序消费

    大部分的员工早上的心情可能不会很好,因为这时想到还有很多事情要做,压力会大点,一般到下午4点左右,状态会是一天中最好的,因为这时大部分的工作做得差不多了,又快要下班了,当然也不是绝对.要注意记录各下属 ...

  6. 豆瓣电影信息爬取(json)

    豆瓣电影信息爬取(json) # a = "hello world" # 字符串数据类型# b = {"name":"python"} # ...

  7. SpringSecurity之记住我功能的实现

    Spring security记住我基本原理: 登录的时候,请求发送给过滤器UsernamePasswordAuthenticationFilter,当该过滤器认证成功后,会调用RememberMeS ...

  8. 第1章—Spring之旅—简化Spring的java开发

    简化Spring的java开发 1.1简介 区别于EJB的特性 简化javaBean,为了降低java开发的复杂性,Spring采取了以下4种关键策略: 基于POJO的轻量级和最小入侵性编程 通过依赖 ...

  9. js中字符串的替换

    定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replac ...

  10. Debian9安装SSH并允许root用户SSH登录

    安装SSH # apt install openssh-server openssh-client 启动SSH服务 # /etc/init.d/ssh start 添加SSH开机启动 # update ...