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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM