2013-05-03 129 views
0

我正在糾正我的一個測試,並且我在一個問題上完全不正確,我的課程中的許多人也是如此。假設我們有這樣的聲明:指定隊列的長度

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

選擇下列其中一項來描述隊列的長度。

  • A)的長度爲
  • B)沒有足夠的信息來計算隊列
  • C)的長度,這種情況不可能發生

前面= 8 後部= 7

我們都認爲這是足夠的隊列信息。如果前面是8,後面是7,我們認爲它是一個完整的隊列(長度爲10)。但是,這個答案是不正確的。有人可以解釋爲什麼,究竟?

+2

不知道'ArrayBndQueue'的實現是不可能回答這個問題的。 – 2013-05-03 03:59:23

+0

同意吉姆。集合類具有大小和容量。不是一個長度。 – KyleM 2013-05-03 04:00:11

+0

@JimGarrison - 基本上就是這個問題的答案!你會讓它成爲一個答案!:) – SudoRahul 2013-05-03 04:02:39

回答

0

隊列是一個集合,所以它有size()方法返回它的大小。不知道ArrayBndQueue是如何實現的,但所有的JDK隊列在創建之後都是空的,除非它們在構造時接受另一個Collection作爲參數。

0

沒有足夠的信息來計算沒有任何文檔或ArrayBndQueue規範的隊列長度。

關於'front = 8 rear = 7'的部分似乎完全沒有意義,因爲確實是整個問題。