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. 几种封装javaBean的方法

    开发框架时,经常需要使用java对象(javaBean)的属性来封装程序的数据,封装javaBean的方法有很多,比如反射,内省,以及使用工具类.下面从反射开始介绍. 1.javaBean介绍: 简介 ...

  2. P5242 [USACO19FEB]Cow Dating

    题目链接 题意分析 首先我们可以得出计算公式 \[s_i=\prod_{k=1}^i(1-p_k)\] \[f_i=\sum_{k=1}^i\frac{p_k}{1-p_k}\] 那么 \[ans(i ...

  3. C#-WebForm-Repeater的灵活运用、ItemCommand的用法-增删改查、如何不适用Repeater来展示数据?

    浏览器页面: 代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Defau ...

  4. Java 访问权限控制:你真的了解 protected 关键字吗?

    摘要: 对于类的成员而言,其能否被其他类所访问,取决于该成员的修饰词:而对于一个类而言,其能否被其他类所访问,也取决于该类的修饰词.在Java中,类成员访问权限修饰词有四类:private,无(包访问 ...

  5. golang (5) http 请求分析

    http 分析包分析 fmt.Println("get Content-Type: ", r.Header.Get("Content-Type")) var r ...

  6. (转载)IDEA新建项目时,没有Spring Initializr选项

    最近开始使用IDEA作为开发工具,然后也是打算开始学习使用spring boot. 看着博客来进行操作上手spring boot,很多都是说 创建一个新项目(Create New Project) 选 ...

  7. res/raw与assets目录的区别

    1.相同点: 两者都会原封不动的保存在apk包中,不会被编译成二进制码. 2.不同点: raw目录下只能存放文件,不能存放下一级的文件夹,而assets可以存放下一级的文件夹. raw目录下的资源会映 ...

  8. 解决securecrt连接centos使用VIM编辑中文时乱码

    vim ~/.vimrc 添加两行 set encoding=utf-8 set fileencodings=ucs-bom,utf-8,cp936

  9. django+mysql+html简单demo之 views+html

    #coding=utf-8 from __future__ import unicode_literals from django.shortcuts import render,render_to_ ...

  10. python笔记04-----字典、元组、集合操作

    1.字典 是一种key-value的数据类型,使用就像字典 无序的因为无下标 创建一个字典: info = {     'stu1':'qq',     'stu2':'ww',     'stu3' ...