我正在批改我的一次考试,我在一个问题上完全不正确,就像我班上的许多其他人一样。假设我们有声明:
ArrayBndQueue<String> q = new ArrayBndQueue<String>(10);
选择下列之一来描述队列的长度。
前=8后=7
我们都认为这对排队来说是足够的信息了。如果前面是8,后面是7,我们认为这将是一个完整的队列(长度为10)。然而,这个答案是不正确的。谁能解释清楚原因吗?
发布于 2013-05-02 19:58:22
Queue是个Collection,所以它有size()方法,它返回其大小。ArrayBndQueue是如何实现的还不得而知,但是所有JDK队列在创建后都是空的,除非它们在构建时接受另一个集合作为参数。
发布于 2013-05-02 19:59:35
没有任何ArrayBndQueue
文档或规范,就没有足够的信息来计算队列的长度。
关于“front=8 rear=7”的部分似乎完全没有意义,整个问题也是如此。
https://stackoverflow.com/questions/16351153
复制相似问题