Java中的Queue

2024-01-09 04:36:02

Java中的Queue

在这里插入图片描述

在这里插入图片描述

在Java中,Queue 接口代表了一个队列数据结构,它按照先进先出(First In, First Out,FIFO)的原则进行元素的操作。Queue 接口扩展自 Collection 接口,定义了一系列方法,包括添加、删除和检查元素等。在Queue接口中,常见的实现类包括 LinkedListPriorityQueueArrayDeque

在这里插入图片描述

基本操作:

以下是 Queue 接口的一些主要方法:

  1. 添加元素:

    • boolean add(E e): 将指定的元素插入队列。如果队列已满,则抛出异常。
    • boolean offer(E e): 将指定的元素插入队列。成功时返回 true,如果队列已满,则返回 false
  2. 获取并删除元素:

    • E remove(): 获取并移除队列的头部元素。如果队列为空,则抛出异常。
    • E poll(): 获取并移除队列的头部元素。如果队列为空,则返回 null
  3. 获取但不删除元素:

    • E element(): 获取但不移除队列的头部元素。如果队列为空,则抛出异常。
    • E peek(): 获取但不移除队列的头部元素。如果队列为空,则返回 null

queue.isEmpty(), 为空返回true,不为空返回false
queue.peek(), 为空返回null,不为空返回栈顶元素。
queue.size(), 为空返回0,不为空返回一个大于1的整数。

示例:

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

public class QueueExample {
    public static void main(String[] args) {
        // 创建一个队列
        Queue<String> queue = new LinkedList<>();

        // 添加元素
        queue.add("Java");
        queue.add("C++");
        queue.add("Python");

        // 获取并删除队头元素
        String removedElement = queue.poll();
        System.out.println("Removed element: " + removedElement);

        // 获取但不删除队头元素
        String peekedElement = queue.peek();
        System.out.println("Peeked element: " + peekedElement);

        // 添加更多元素
        queue.offer("JavaScript");
        queue.offer("Ruby");

        // 遍历队列
        System.out.println("Queue elements:");
        for (String element : queue) {
            System.out.println(element);
        }
    }
}

上述示例演示了 Queue 接口的基本用法,包括元素的添加、删除和检查等操作。在实际应用中,选择合适的 Queue 实现类取决于特定的需求,例如 LinkedList 可以用作通用队列,而 PriorityQueue 则实现了按照优先级排列的队列。

文章来源:https://blog.csdn.net/weixin_46225503/article/details/135412739
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。