📌  相关文章
📜  Java中的 ConcurrentLinkedQueue peek() 方法(1)

📅  最后修改于: 2023-12-03 15:16:22.115000             🧑  作者: Mango

Java中的 ConcurrentLinkedQueue peek() 方法

介绍

ConcurrentLinkedQueue是Java中的一个线程安全的队列,它实现了队列的基本操作,并支持高并发的多线程环境。peek()方法是队列的一个操作,用于获取队列的头部元素但不会从队列中删除该元素。本文将对ConcurrentLinkedQueuepeek()方法进行详细介绍。

语法
E peek()
参数

无。

返回值

peek()方法返回队列头部的元素,如果队列为空,则返回null

示例代码
import java.util.concurrent.ConcurrentLinkedQueue;

public class Main {
    public static void main(String[] args) {
        // 创建一个ConcurrentLinkedQueue对象
        ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<>();

        // 添加元素到队列中
        queue.add("元素1");
        queue.add("元素2");
        queue.add("元素3");

        // 获取队列头部元素但不删除
        String head = queue.peek();
        System.out.println("队列头部元素:" + head);
        System.out.println("当前队列元素:" + queue);

        // 清空队列
        queue.clear();

        // 再次尝试获取队列头部元素
        head = queue.peek();
        System.out.println("队列头部元素:" + head);
        System.out.println("当前队列元素:" + queue);
    }
}

输出结果为:

队列头部元素:元素1
当前队列元素:[元素1, 元素2, 元素3]
队列头部元素:null
当前队列元素:[]
使用注意事项
  • peek()方法获取队列头部元素但不删除,如果想要删除元素则需要使用poll()方法。
  • 在多线程环境下,如果队列中有多个线程同时调用peek()方法,由于该方法不会改变队列中的元素,因此并不会出现任何线程安全问题。