java LinkedList类实现 队列

 

/*
LinkedList 类实现队列
队列 是FIFO  先进先出 FIRST  IN  FIRST OUT      一边进去 另一边出来
LinkedList 底层是采用链表完成
ArrayList底层采用数组完成 对数据的查找操作 用数组更快
*/

import java.util.LinkedList;
class  MyQueue
{
 private LinkedList ll=new LinkedList();
 void put(Object o)
 {
  ll.addLast(o);  //尾部添加元素
 }
 public Object get()  
 {
  return ll.removeFirst(); //从前面删除
 }
 public boolean empty()
 {
  return ll.isEmpty(); 
 }
 public static void main(String[] args)
 {
  MyQueue mq=new MyQueue();
  mq.put("one");
  mq.put("two");
  mq.put("three");
  
  System.out.println(mq.get());
  System.out.println(mq.get());
  System.out.println(mq.get());
  System.out.println(mq.empty());
 }
 
 
 
 
 
}

时间: 2024-10-01 15:09:28

java LinkedList类实现 队列的相关文章

Java类集--LinkedList类

LinkedList子类与Queue接口 Queue接口定义的方法 LinkedList中操作链表的部分方法 本身大量的扩充了Queue接口和List接口的操作.所以,在使用时最好直接使用LinkedList类完成操作. 为链表的开头和结尾增加数据. import java.util.LinkedList ; public class LinkedListDemo01{ public static void main(String args[]){ LinkedList<String> lin

java 利用 LinkedList类实现 数据结构 栈.......

  /* java.util.LinkedList 类实现栈操作 栈是个后进先出的线性表 */ import java.util.*; class  Test {   private LinkedList ll=new LinkedList();   //创建栈        void push(Object o)    {        ll.addFirst(o); // 在前面插入 对象    }      Object pop()   {      return  ll.removeFi

Java LinkedList基本用法

LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.LinkedList的构造函数如下1. public LinkedList():  --生成空的链表2. public LinkedList(Collection col):  复制构造函数1.获取链表的第一个和最后一个元素 [java] view plaincopy import java.util.LinkedList;      public class LinkedListTest{     publi

聊聊并发(七)——Java中的阻塞队列

原文首发于InfoQ 1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列.这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空.当队列满时,存储元素的线程会等待队列可用.阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程.阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素. 阻塞队列提供了四种处理方法: 方法\处理方式 抛出异常 返回特殊值 一直阻塞 超时退出 插入方法 add(e) o

解析Java中PriorityQueue优先级队列结构的源码及用法_java

一.PriorityQueue的数据结构 JDK7中PriorityQueue(优先级队列)的数据结构是二叉堆.准确的说是一个最小堆. 二叉堆是一个特殊的堆, 它近似完全二叉树.二叉堆满足特性:父节点的键值总是保持固定的序关系于任何一个子节点的键值,且每个节点的左子树和右子树都是一个二叉堆. 当父节点的键值总是大于或等于任何一个子节点的键值时为最大堆. 当父节点的键值总是小于或等于任何一个子节点的键值时为最小堆. 下图是一个最大堆 priorityQueue队头就是给定顺序的最小元素. prio

Java中的阻塞队列详细介绍_java

Java中的阻塞队列 1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列.这两个附加的操作是: 在队列为空时,获取元素的线程会等待队列变为非空. 当队列满时,存储元素的线程会等待队列可用. 阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程.阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素. 2.Java里的阻塞队列 JDK中提供了七个阻塞队列: ArrayBlockingQueue :一个由数组结

java中有类的子类一说,那有对象的子对象一说吗?

问题描述 java中有类的子类一说,那有对象的子对象一说吗? java中有类的子类一说,那有对象的子对象一说吗?新手提问莫见笑. 解决方案 类的子类专业点说叫继承,对象的子对象你可以理解成方法的重写或重载等. 解决方案二: 那是不是类中有内部类就可以呢?

漫谈Java实例化类

  Java 中实例化类的动作,你是否还是一成不变 new 对应对象呢?     经手的项目多了,代码编写量自然会增加,渐渐的会对设计模式产生感觉.     怎样使书写出来的类实例化动作,高内聚,低耦合,又兼具一定的扩展能力呢?     本文试图从几段鲜活的代码入手,给大家呈现不一样的 Java 实例化类.     下面代码取自 com.google.zxing 源码实现: public BitMatrix encode(String contents, BarcodeFormat format

Java中的阻塞队列

1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列.这两个附加的操作是:在队列为空时, 获取元素的线程会等待队列变为非空.当队列满时,存储元素的线程会等待队列可用.阻塞队列常用于生 产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程.阻塞队列就 是生产者存放元素的容器,而消费者也只从容器里拿元素. 阻塞队列提供了四种处理方法: 方法\处理方式  抛出异常  返回特殊值  一直阻塞    超时退出插入方 法