ダブルエンドキュー(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インタフェースのサイズ変更可能な配列の実装を読んでいません。配列dequesには容量の制限はありません。彼らは使用法をサポートするために必要に応じて成長する。 – Eran
私は、その種の特性を実装するキューのタイプがあれば、どんな提案もありますか? – Juni