java队列

package com.webchat.queue;

import java.util.concurrent.ConcurrentLinkedQueue;

//值得注意的是,ConcurrentLinkedQueue不支持null元素。
//ConcurrentLinkedQueue主要方法介绍
//ConcurrentLinkedQueue提供了以下主要方法:
//add(E e): 添加元素,返回true或抛出异常
//offer(E e): 添加元素,返回true或false
//poll(): 获取并删除队首元素,队列为空时返回null
//peek(): 获取队首元素但不删除,队列为空时返回null
//size(): 返回队列元素个数
//注:在并发环境下,使用size()方法的结果并不可靠,因为在执行size()的同时插入或删除操作可能发生,导致结果不准确。因此,通常情况下,我们需要自己维护一个变量来保存队列元素个数。
public class ConcurrentLinkedQueueDemo {
    public static void main(String[] args) {

        ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue<>();
        queue.add("element1");
        queue.offer("element2");
        queue.add("element3");
        queue.offer("element4");

        System.out.println("队列中的元素个数:" + queue.size());

        System.out.println("队首元素:" + queue.peek());
        System.out.println("队首元素并删除:" + queue.poll());

        System.out.println("队列中的元素个数:" + queue.size());

        for (String str : queue) {
            System.out.println("遍历元素:" + str);
        }
    }
}

你可能感兴趣的:(java,开发语言)