在Vector中有def create
file = Paperclip.io_adapters.for(params[:photo][:image])
file.original_filename = params[:photo][:filename]
@photo = Photo.new(file: file, user: current_user)
@photo.save
end
方法来检查当前容量但在PriorityQueue中如何检查相同,没有现成的方法可用于
Queue / PriorityQueue就像在Vector中一样。如果我试图实现Vector方法,它会显示大小而不是Queue的容量。
capacity()
答案 0 :(得分:2)
来自https://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html
上的文档优先级队列是无限制的,但具有内部容量,用于控制用于存储队列中元素的数组的大小。它始终至少与队列大小一样大。当元素添加到优先级队列时,其容量会自动增加。没有具体说明增长政策的细节。
这意味着没有特定的容量,它只有一个size()
答案 1 :(得分:0)
尝试以下代码:
System.out.println("Capacity :"+ findCapacity(pq));
static int findCapacity(PriorityQueue<Character> pq) throws Exception {
Field field = PriorityQueue.class.getDeclaredField ("queue");
field.setAccessible(true);
return ((Object[]) field.get(pq)).length;
}
Result:
Capacity :20