我无法为双端队列(Deque)的大小分配限制。看起来,我的队列永远不会变满,只要我添加或提供一个值就可以调整。我的简单代码只是接受一个字符串值,将它拆分为空格“”,循环所有内容并将其添加到队列中。为Java中的Deque分配大小
evaluate("A B C D E F");
public static int evaluate(final String input){
final Deque<String> stack = new ArrayDeque<>(3);
final String[] tokens = input.split(" ");
for (String token:tokens){
System.out.println(stack.offer(token));
}
System.out.println(stack.size());
}
回报:
true
true
true
true
true
true
6
我期待队列将满,因为我没有删除或从中读取的任何值。有什么我在这里失踪?或者我只是使用队列错误?谢谢!
您正在阅读Javadoc --Deque接口的Resizable-array实现。 Array deques没有容量限制;它们根据需要增长以支持使用情况。 – Eran
我看到,有任何建议,如果有任何类型的队列,实现这种特点? – Juni