温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何创建java Queue队列

发布时间:2026-10-25 05:14:56 来源:亿速云 阅读:108 作者:小樊 栏目:编程语言

在 Java 中,创建 Queue(队列) 通常使用 java.util.Queue 接口,并结合具体的实现类。下面是常见方式和示例。


一、Queue 的常见实现类

实现类 特点
LinkedList 常用,非线程安全,双向链表
ArrayDeque 效率高,非线程安全,推荐使用
PriorityQueue 优先队列(不是 FIFO)
ConcurrentLinkedQueue 线程安全,无锁
LinkedBlockingQueue 线程安全,阻塞队列

二、基本创建方式

1️⃣ 使用 LinkedList(最基础)

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

Queue<Integer> queue = new LinkedList<>();

2️⃣ 使用 ArrayDeque(推荐)

import java.util.ArrayDeque;
import java.util.Queue;

Queue<String> queue = new ArrayDeque<>();

3️⃣ 优先队列(PriorityQueue)

Queue<Integer> pq = new PriorityQueue<>();

三、Queue 常用方法

Queue<Integer> queue = new ArrayDeque<>();

// 入队
queue.offer(1);
queue.offer(2);

// 出队(队列为空返回 null)
Integer val = queue.poll();

// 查看队首(不移除)
Integer head = queue.peek();

方法对比

方法 说明
add() 入队,失败抛异常
offer() 入队,失败返回 false
remove() 出队,空抛异常
poll() 出队,空返回 null
element() 查看队首,空抛异常
peek() 查看队首,空返回 null

四、线程安全队列示例

1️⃣ ConcurrentLinkedQueue

import java.util.concurrent.ConcurrentLinkedQueue;

Queue<String> queue = new ConcurrentLinkedQueue<>();

2️⃣ 阻塞队列(生产者-消费者)

import java.util.concurrent.LinkedBlockingQueue;

Queue<Integer> queue = new LinkedBlockingQueue<>(10);

五、完整示例

import java.util.*;

public class QueueDemo {
    public static void main(String[] args) {
        Queue<Integer> queue = new ArrayDeque<>();

        queue.offer(10);
        queue.offer(20);
        queue.offer(30);

        while (!queue.isEmpty()) {
            System.out.println(queue.poll());
        }
    }
}

如果你有 特定场景(如线程安全、阻塞队列、任务调度、消息队列),我可以给你更合适的示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手