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

}

 

posted @ 2022-04-11 09:03  星瑞  阅读(227)  评论(0编辑  收藏  举报