我正在纠正我的一项考试,我在一个问题上完全不正确,我班上的其他人也是如此。假设我们有声明:
ArrayBndQueue<String> q = new ArrayBndQueue<String>(10);
选择以下其中一项来描述队列的长度。
前面= 8 后方= 7
我们都认为这是队列的足够信息。如果前面是8而后面是7,我们认为它将是一个完整的队列(长度为10)。但是,这个答案是不正确的。有人可以解释原因吗?
答案 0 :(得分:0)
Queue是一个Collection,所以它有size()方法返回它的大小。不知道ArrayBndQueue是如何实现的,但是所有JDK队列在创建之后都是空的,除非它们在构造时接受另一个Collection作为参数。
答案 1 :(得分:0)
没有足够的信息来计算队列的长度,而没有ArrayBndQueue
的任何文档或规范。
关于'front = 8 rear = 7'的部分似乎完全没有意义,正如整个问题一样。