java-ConcurrentLinkedQueue 简单使用

import java.util.concurrent.ConcurrentLinkedQueue;

public class CacheTest {
    /**
     *
     * offer(E e) 将指定元素插入此队列的尾部。
     * poll() 获取并移除此队列的头,如果此队列为空,则返回 null。
     * peek() 获取但不移除此队列的头;如果此队列为空,则返回 null。
     * remove(Object o) 从队列中移除指定元素的单个实例(如果存在)。
     * @param args
     */

    @SuppressWarnings({ "rawtypes", "unchecked" })
    public static void main(String[] args) {
        ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue();
        queue.offer("哈哈哈");
        System.out.println("offer后,队列是否空?" + queue.isEmpty());
        System.out.println("从队列中poll:" + queue.poll());
        System.out.println("poll后,队列是否空?" + queue.isEmpty());

        queue.offer("哈哈哈");
        System.out.println("\noffer后,队列是否空?" + queue.isEmpty());
        System.out.println("从队列中peek:" + queue.peek());
        System.out.println("从队列中peek:" + queue.peek());
        System.out.println("从队列中peek:" + queue.peek());
        System.out.println("peek后,队列是否空?" + queue.isEmpty());

        queue.offer("哈哈哈");
        System.out.println("\noffer后,队列是否空?" + queue.isEmpty());
        System.out.println("从队列中remove已存在元素 :" + queue.remove("哈哈哈"));
        System.out.println("从队列中remove不存在元素:" + queue.remove("123"));
        System.out.println("remove后,队列是否空?" + queue.isEmpty());
    }

}

offer后,队列是否空?false
从队列中poll:哈哈哈
poll后,队列是否空?true

offer后,队列是否空?false
从队列中peek:哈哈哈
从队列中peek:哈哈哈
从队列中peek:哈哈哈
peek后,队列是否空?false

offer后,队列是否空?false
从队列中remove已存在元素 :true
从队列中remove不存在元素:false
remove后,队列是否空?false

posted @ 2018-10-17 09:11  brave-sailor  阅读(2530)  评论(0编辑  收藏  举报