`
iwebcode
  • 浏览: 2071926 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

java中使用队列(java.util.Queue)

 
阅读更多

转自:http://blog.csdn.net/guijava/article/details/3784658

在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。

Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优
点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用
element()或者peek()方法。
值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
  1. 小例子:
  2. /**
  3. *
  4. *@authorZangXT
  5. */
  6. importjava.util.Queue;
  7. importjava.util.LinkedList;
  8. publicclassTestQueue{
  9. publicstaticvoidmain(String[]args){
  10. Queue<String>queue=newLinkedList<String>();
  11. queue.offer("Hello");
  12. queue.offer("World!");
  13. queue.offer("你好!");
  14. System.out.println(queue.size());
  15. Stringstr;
  16. while((str=queue.poll())!=null){
  17. System.out.print(str);
  18. }
  19. System.out.println();
  20. System.out.println(queue.size());
  21. }
  22. }
分享到:
评论

相关推荐

    java并发工具包 java.util.concurrent中文版pdf

    ### Java并发工具包 `java.util.concurrent` 知识点详解 #### 一、引言 随着多核处理器的普及和应用程序复杂度的增加,多线程编程成为了现代软件开发不可或缺的一部分。为了简化并发编程的复杂性,Java 5 引入了 `...

    java 自定义Queue队列

    在Java编程语言中,`Queue`接口是集合框架的一部分,它代表了先进先出(FIFO)的数据结构,也就是我们通常所说的队列。队列是一种非常基础且实用的数据结构,广泛应用于多线程同步、任务调度、缓存管理等多个场景。...

    Using_Java_Queue.zip_java队列

    本教程将深入探讨如何在Java中使用队列,特别是通过LinkedList实现。 ### 1. Java 队列接口 Java提供了多种队列实现,但它们都基于两个主要的接口:`Queue` 和 `Deque`。`Queue` 是基本的队列接口,而 `Deque`...

    Java数据结构实现之Queue.zip

    在Java中,`java.util`包提供了多种队列实现,包括: 1. **LinkedList**:`java.util.LinkedList` 是一个双向链表,同时实现了`Deque`接口,可以作为队列使用。插入和删除操作的时间复杂度为O(1),但在随机访问元素...

    java.util包

    Java.util包是Java标准库中的核心包之一,它包含了大量用于通用编程的类和接口,是Java开发中不可或缺的一部分。这个包提供了数据结构、集合框架、事件处理、日期时间、随机数生成、位集以及与I/O流操作相关的辅助...

    java.util包源码pdf版

    `java.util`包是Java标准库中的一个重要组成部分,提供了大量的实用工具类和接口来处理集合数据类型、日期时间操作、随机数生成等功能。这份PDF文档包含了`java.util`包内各主要类与接口的源代码,有助于开发者深入...

    华科java实验-用泛型栈实现泛型队列

    (完整项目,可直接食用)Java提供的java.util.Queue是一个接口没有构造函数。试用java.util.Stack泛型栈作为父类,用另一...除提供无参构造函数Queue( )外,其它所有队列函数严格参照java.util.Queue的接口定义实现。

    java.util包总结

    9. EventObject和EventListener接口:与事件处理相关,是观察者模式的一部分,通常在图形用户界面编程中使用。 10. ResourceBundle类:用于加载和管理本地化资源,便于应用程序根据不同地区的语言和文化习惯显示...

    java队列模拟实现

    在Java中,队列可以使用`java.util.Queue`接口及其实现类如`LinkedList`来创建。 2. **Java 面向对象编程**:此项目中,队列可能被实现为一个类,包含队列的基本操作,如添加元素(enqueue)、移除元素(dequeue)...

    java 栈和队列的小例子

    Java中可以使用LinkedList、ArrayList或PriorityQueue来实现队列,其中LinkedList和ArrayList适用于普通队列,而PriorityQueue则用于优先级队列。以下是一个使用LinkedList实现的队列示例: ```java import java....

    java定时器\多线程(池)\java队列Demo

    `TakeQueryProject` 文件可能包含演示这些概念的示例代码,包括如何使用定时器执行任务,如何创建和管理线程,以及如何在多线程环境中使用队列。通过学习和实践这些代码,你可以更好地理解Java并发编程的核心要素。

    java.util.concurrent 实现线程池队列

    本篇文章将深入探讨如何使用`java.util.concurrent` 实现线程池队列,以及其中的关键概念和技术。 线程池是一种线程使用模式,通过预先创建并维护一定数量的工作线程来避免频繁创建和销毁线程的开销。在Java中,`...

    java 多线程 队列工厂

    在Java中,`java.util.Queue`接口提供了队列操作的基本API,如`offer()`(添加元素)、`poll()`(移除并返回头元素)、`peek()`(查看但不移除头元素)等。 Java还提供了多种实现队列的类,如`LinkedList`、`...

    java多线程模拟队列实现排队叫号

    在Java中,我们可以使用`java.util.Queue`接口及其实现类,如`LinkedList`或`ArrayDeque`来创建队列。 接下来,我们需要创建两个线程类:一个是`CustomerThread`,代表等待叫号的客户,另一个是`ServiceThread`,...

    优先队列-java可以选择属性和升序降序

    Java中的`java.util.PriorityQueue`类为我们提供了实现优先队列的功能。 首先,让我们深入理解`PriorityQueue`的基本概念。`PriorityQueue`是基于二叉堆(一种自平衡的树形数据结构)实现的,它不保证队列的顺序,...

    The java.util.concurrent Synchronizer Framework

    - **排队机制**:AQS内部使用CLH锁队列(Craig-Landin-Hagersten lock queue)作为线程等待队列的基础结构。每个等待同步状态改变的线程会被封装成一个节点(`Node`),并加入到队列中。当线程获得同步状态后,会从...

    java 队列实现

    在Java中,队列是一种线性数据结构,它遵循“先进先出”(FIFO)的原则,即最先添加到队列中的元素会最先被移除。队列在多线程、任务调度、数据缓冲等多个场景中发挥着重要作用。 在Eclipse这个流行的Java集成开发...

    用Java实现数据结构中的队列

    在计算机科学中,数据结构是组织、存储和处理数据的方式,...通过理解这些基本概念和代码示例,你可以轻松地在Java项目中实现和使用队列数据结构。记住,选择哪种实现取决于具体的需求,如性能、内存使用和功能需求。

    idea+java多线程模拟队列实现排队叫号.zip

    在Java中,我们可以使用`java.util.Queue`接口及其实现类,如`LinkedList`或`ArrayDeque`来创建队列。队列在排队叫号系统中起到存储等待服务的客户和决定服务顺序的作用。 在模拟排队叫号系统时,我们通常会创建两...

    java 提供消息队列的使用

    在Java中使用消息队列,你需要了解以下关键点: 1. **JMS接口**:这是Java与消息中间件交互的标准接口,提供了发送和接收消息的方法。 2. **消息类型**:包括点对点(Queue)和发布/订阅(Topic)两种模式。前者适合...

Global site tag (gtag.js) - Google Analytics