指定队列的长度

时间:2013-05-03 03:34:01

标签: java queue

我正在纠正我的一项考试,我在一个问题上完全不正确,我班上的其他人也是如此。假设我们有声明:

ArrayBndQueue<String> q = new ArrayBndQueue<String>(10);

选择以下其中一项来描述队列的长度。

  • A)长度
  • B)没有足够的信息来计算队列的长度
  • C)这种情况不可能发生

前面= 8 后方= 7

我们都认为这是队列的足够信息。如果前面是8而后面是7,我们认为它将是一个完整的队列(长度为10)。但是,这个答案是不正确的。有人可以解释原因吗?

2 个答案:

答案 0 :(得分:0)

Queue是一个Collection,所以它有size()方法返回它的大小。不知道ArrayBndQueue是如何实现的,但是所有JDK队列在创建之后都是空的,除非它们在构造时接受另一个Collection作为参数。

答案 1 :(得分:0)

没有足够的信息来计算队列的长度,而没有ArrayBndQueue的任何文档或规范。

关于'front = 8 rear = 7'的部分似乎完全没有意义,正如整个问题一样。