📅  最后修改于: 2023-12-03 15:16:22.115000             🧑  作者: Mango
ConcurrentLinkedQueue
是Java中的一个线程安全的队列,它实现了队列的基本操作,并支持高并发的多线程环境。peek()
方法是队列的一个操作,用于获取队列的头部元素但不会从队列中删除该元素。本文将对ConcurrentLinkedQueue
的peek()
方法进行详细介绍。
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()
方法,由于该方法不会改变队列中的元素,因此并不会出现任何线程安全问题。