Java队列使用举例
import lombok.extern.slf4j.Slf4j; import org.junit.Test; import java.util.LinkedList; import java.util.Queue; /** * @description:队列,一个先入先出(FIFO)的数据结构 */ @Slf4j public class TestQueue { /** * 阻塞队列的操作: * add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 * remove 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常 * element 返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常 * offer 添加一个元素并返回true 如果队列已满,则返回false * poll 移除并返问队列头部的元素 如果队列为空,则返回null * peek 返回队列头部的元素 如果队列为空,则返回null * put 添加一个元素 如果队列满,则阻塞 * take 移除并返回队列头部的元素 如果队列为空,则阻塞 */ @Test public void testQueue() { Queue<String> queue = new LinkedList<>(); queue.offer("a"); queue.offer("b"); queue.offer("c"); log.info("Queue:{}", queue.toString()); log.info("poll:{}", queue.poll()); log.info("poll后:{}", queue.toString()); // 17:50:19.136 [main] INFO part2.tools.queue.TestQueue - Queue:[a, b, c] // 17:50:19.147 [main] INFO part2.tools.queue.TestQueue - poll:a // 17:50:19.147 [main] INFO part2.tools.queue.TestQueue - poll后:[b, c] } }