Java中的ArrayBlockingQueue size()方法
ArrayBlockingQueue 是有边界的、阻塞的队列,它在内部存储了由数组支持的元素。
- ArrayBlockingQueue 类是Java集合框架的一个成员。
- 有界意味着它将有一个固定的大小,你不能存储的元素数量超过队列的容量。
- 该队列也遵循FIFO(先进先出)规则来存储和移除队列中的元素。
- 如果你试图把一个元素放入一个满的队列或从一个空的队列中取出一个元素,那么队列将阻止你。
size() 方法返回 队列包含的元素数量 size是一个重要的方法,通过计算队列的容量和队列的大小之间的差异,可以看到队列包含多少元素,以及有多少元素可以添加到这个队列中。
语法:
public int size()
参数: 该方法不接受任何参数。
返回值: 该方法返回该队列中的元素数量。
以下程序说明了ArrayBlockingQueue的size()方法。
程序1 :
// Program to Demonstrate the size() method
// of ArrayBlockingQueue.
import java.util.concurrent.ArrayBlockingQueue;
public class GFG {
public static void main(String[] args) {
// Define capacity of ArrayBlockingQueue
int capacity = 5;
// Create object of ArrayBlockingQueue
ArrayBlockingQueue<Integer> queue = new
ArrayBlockingQueue<Integer>(capacity);
// Add elements to ArrayBlockingQueue
queue.add(23);
queue.add(32);
queue.add(45);
// Print size of queue after adding numbers
int size=queue.size();
System.out.println("After adding numbers"+
" Queue size = " +size);
// Add more elements to ArrayBlockingQueue
queue.add(88);
queue.add(42);
// Print size of queue after adding numbers
size=queue.size();
System.out.println("After adding more numbers"
+" Queue size = " +size);
}
}
程序2:
// Program to demonstrate size() method of
// ArrayBlockingQueue.
import java.util.concurrent.ArrayBlockingQueue;
public class GFG {
public static void main(String[] args) {
// Define capacity of ArrayBlockingQueue
int capacity = 5;
// Create object to store 5 names
ArrayBlockingQueue<String> names = new
ArrayBlockingQueue<String>(capacity);
// Add element to ArrayBlockingQueue
names.add("Aman");
names.add("Siddhant");
// Print size of queue after adding numbers
int size = names.size();
System.out.println("After adding numbers"+
" Queue size = "+size);
// Add more elements to ArrayBlockingQueue
names.add("Raunak");
names.add("Suvo");
// Print size of queue after adding numbers
size=names.size();
System.out.println("After adding more numbers"+
" Queue size = "+size);
}
}
参考资料: https: //docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html#size()
极客教程