java-ConcurrentLinkedQueue 简单使用

Posted brave-sailor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于java-ConcurrentLinkedQueue 简单使用的主要内容,如果未能解决你的问题,请参考以下文章