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)