在 Java 中为 Deque 分配大小

Jun*_*uni 5 java deque arraydeque

我在为双端队列 (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());
 }
Run Code Online (Sandbox Code Playgroud)

返回:

 true
 true
 true
 true
 true
 true
 6
Run Code Online (Sandbox Code Playgroud)

我预计队列将已满,因为我没有从中删除或读取任何值。我在这里缺少什么吗?或者我只是错误地使用了队列?谢谢!

Val*_*ele 0

我建议您以所需的行为来实现您自己的类。否则已经存在删除多余元素的类。请参阅此答案 /sf/answers/1518934861/