`

jdk1.5中的队列Queue

阅读更多

jdk1.5后加入了新的集合类Queue,在这之前如果想使用一个队列的数据结构,大多数是用List来模拟出来的,加入的时候用add()
弹出的时候自己手动remove前边的对象。但Queue本身就是个队列,不需要再多这些步骤。下边是个简单的用法,对比stack的演示代码:

import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;


public class TestQueue {
    public static void main(String[] args) {
        //队列是先进先出
        Queue<String> q = new LinkedList<String>();
        //这里offer和add类似

  q.offer("a");
        q.offer("b");
        q.offer("c");
        System.out.println(q);
        //队列头部弹出
        q.poll();
        System.out.println(q);
        //栈你是后进先出
        Stack<String> s = new Stack<String>();
        s.add("a");
        s.add("b");
        //这里push等同add
        s.push("c");
        System.out.println(s);
        //栈顶弹出
        s.pop();
        System.out.println(s);
        //只是看一下栈顶的值,并不移除
        s.peek();
        System.out.println(s);
    }
}
分享到:
评论

相关推荐

    JDK容器学习之Queue:LinkedBlockingQueue

    在Java的并发编程中,JDK提供的容器类库扮演了重要角色,其中`java.util.concurrent`包下的`BlockingQueue`接口及其实现类是多线程环境下数据同步的重要工具。本篇文章将深入探讨`LinkedBlockingQueue`,这是一个...

    02-JMS熟练应用.pdf

    - 在这种模式下,客户端通过队列(Queue)将消息发送到另一个客户端。 - 发送消息的客户端将消息放入特定的队列中。 - 接收消息的客户端从该队列中提取消息。 - 每个消息只能被一个消费者接收。 2. **发布订阅...

    JDK自带的延迟队列-DelayQueue

    在`delayed-queue-demo`文件中,通常会包含一个简单的`DelayQueue`使用示例。例如,创建一个表示消息的类`Message`,它实现了`Delayed`接口,存储消息的创建时间和延迟时间。然后创建`DelayQueue`实例,向其中添加...

    线程-线程池-锁-集合-Map-队列.docx

    队列是另一种重要的数据结构,Java中的`Queue`接口提供了FIFO(先进先出)的数据结构,常用于线程间的通信或作为线程池的工作队列。`ArrayBlockingQueue`、`LinkedBlockingQueue`等是常见的阻塞队列实现,它们在多...

    IBMMQ消息队列整合

    ### IBMMQ消息队列整合 #### 知识点一:IBMMQ简介与特性 IBM WebSphere MQ(简称IBM MQ)是一种高级消息中间件,它支持多种平台、语言及应用,可帮助开发者构建高性能、高可靠性的分布式系统。MQ通过提供一种标准...

    JDK部分类UML图

    Queue接口代表队列,提供了先进先出(FIFO)的数据结构,例如LinkedList可以作为Queue的实现,还有PriorityQueue实现了优先队列。 在UML图中,可以看到这些接口和类的继承关系,以及它们之间的依赖关系。例如,...

    jdk1.7源码包含util

    Deque接口扩展了Queue,支持双端队列操作,例如ArrayDeque是无界双端队列的实现。 5. **Collections和Arrays**:这两个工具类提供了对集合和数组的各种操作,如排序、填充、复制、查找、转换等。 6. **Calendar和...

    RocketMQ踩坑

    Name Server是RocketMQ的重要组件之一,主要负责管理主题(Topic)和队列(Queue)的元数据,以及提供Producer和Consumer的路由信息。 在作者的操作过程中,遇到了以下问题: 1. 当试图通过`nohup sh bin/mqnamesrv...

    Jdk+api+1.6+英文原版 CHM格式

    3. **java.util**:这个包提供了一组实用工具类,包括集合框架(如ArrayList、LinkedList、HashMap)、日期/时间操作(如Date、Calendar)、随机数生成(Random)、队列(Queue)等。集合框架是Java编程中不可或缺的...

    Java集合

    在JDK1.5以前Java集合会丢失容器中所有对象的数据类型,把所有对象都当初object对象来处理,JDK1.5以后增加了泛型,Java集合可以记住容器中对象的数据类型。从而可以编写出更简洁,健壮的代码。

    JDK1.6中文API

    - 数据结构包括数组、集合(如ArrayList、LinkedList、HashSet、HashMap等)和队列(如LinkedList的Queue实现)等,它们在处理数据时扮演着关键角色。 2. **类与对象** - Java是面向对象的语言,类是创建对象的...

    IBM MQ jdk1.7以上

    IBM MQ,全称为IBM Message Queue,是IBM公司推出的一款企业级消息中间件产品,它在IT行业中扮演着至关重要的角色,特别是在大型企业系统集成和数据通信方面。此解决方案旨在提供可靠、高效且安全的数据传输机制,...

    JDK1.6 API_CN.CHM

    `java.util`包提供了集合框架,包括列表`List`、队列`Queue`、映射`Map`等数据结构,以及日期时间类`Date`、随机数生成器`Random`等实用工具类;`java.io`包则包含了进行输入输出操作的相关类,如文件操作`File`、...

    模拟JDK AWT的事件处理机制

    5. **事件队列(Event Queue)**: - 所有的AWT事件都会被放入一个事件队列中,由事件调度线程按照FIFO(先进先出)原则处理。这意味着事件的处理顺序是确定的,不会因为线程竞争而乱序。 6. **事件分发(Event ...

    Amazon Simple Queue Service: Getting Started Guide.pdf

    Amazon Simple Queue Service (SQS) 是一种分布式消息服务,它允许开发者在云环境中存储和检索消息。SQS 提供了一种可靠的方式来传递消息,无论消息量大小,都能够保证消息的传递,并且支持多种编程语言。 #### ...

    java 集合源码学习,jdk1.8集合类所有的源码讲解

    在JDK 1.8中,集合框架已经相当成熟和完善,包括List、Set、Queue、Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。本篇文章将深入探讨这些集合类的源码,揭示其内部实现机制。 首先,我们来看`...

    最实用的JDK1.6API

    2. **集合框架**:JDK1.6引入了泛型,增强了集合类如ArrayList、LinkedList、HashMap、HashSet等的类型安全性,同时提供了Queue和Deque接口,用于队列和双端队列操作。 3. **I/O流**:包括输入流(InputStream/...

    喜提JDK的BUG一枚!多线程的情况下请谨慎使用这个类的stream遍历。.doc

    在JDK 8中,`tryAdvance`可能在多线程环境下与队列的内部结构发生冲突,导致意外的阻塞。而后续JDK版本可能对这一部分进行了优化,解决了潜在的线程安全问题。 因此,对于开发者来说,这是一个重要的提醒:在多线程...

Global site tag (gtag.js) - Google Analytics