📅  最后修改于: 2023-12-03 14:42:43.611000             🧑  作者: Mango
ArrayBlockingQueue是Java中的一个基于数组结构的有界阻塞队列,其内部采用了读写锁保证线程安全。ArrayBlockingQueue中的size()方法是用来返回队列中当前元素的数量。
public int size()
size()方法返回队列中当前实际元素的数量。该方法没有参数,返回值为int类型。
import java.util.concurrent.ArrayBlockingQueue;
public class ArrayBlockingQueueDemo {
public static void main(String[] args) throws InterruptedException {
// 创建一个有界阻塞队列,容量为5
ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<>(5);
// 插入3个元素
queue.put(1);
queue.put(2);
queue.put(3);
// 输出队列大小
System.out.println("队列大小:" + queue.size()); // 队列大小:3
// 移除一个元素
queue.take();
// 输出队列大小
System.out.println("队列大小:" + queue.size()); // 队列大小:2
}
}
通过以上示例,我们可以看到size()方法非常简单易用,可以帮助我们快速获取队列中元素的数量。同时,考虑到ArrayBlockingQueue的有界特性,我们可以在使用时更加谨慎,避免因插入过多元素导致队列满了之后阻塞无法插入。