0

我正在纠正我的一项测试,我在一个问题上完全不正确,就像我班上的许多其他人一样。假设我们有声明:

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

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

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

前 = 8 后 = 7

我们都认为这对队列来说已经足够了。如果前面是 8,后面是 7,我们认为这将是一个完整的队列(长度为 10)。但是,这个答案是不正确的。有人可以确切地解释为什么吗?

4

2 回答 2

0

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

于 2013-05-03T03:58:22.607 回答
0

在没有任何文档或规范的情况下,没有足够的信息来计算队列的长度ArrayBndQueue

关于 'front=8 back=7' 的部分似乎完全没有意义,整个问题确实如此。

于 2013-05-03T03:59:35.763 回答