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]
}
}