Je suis en train de faire une file d'attente qui priorise le premier objet dans la file qui devrait contenir au maximum deux objets. Pour ce faire, j'utilise java.util.Queue et à chaque pression d'une touche, la touche pressée est ajoutée en tant que chaîne dans la file en utilisant q.add(). C'est ce que je sais jusqu'à présent quoi faire.
Ma question est, comment puis-je faire en sorte que la file ne puisse contenir que deux objets et que si je maintiens la barre d'espace par exemple, elle n'ajoute pas plusieurs espaces à la file?
Je utilise KeyEvent et KeyListener pour prendre l'entrée des touches. Par "ne contenant que deux objets", je veux dire qu'elle ne devrait en contenir que deux à la fois, par exemple:
- voici la file au début :
[Espace, Entrée]
(Entrée étant la dernière touche appuyée), - si j'appuie sur la touche P par exemple, la touche la plus ancienne devrait disparaître et la plus récente devrait déplacer toute la file d'une étape comme ceci:
[P, Espace]
. - Si j'appuie sur entrée maintenant, l'Espace devrait disparaître et cela devrait ressembler à ceci:
[Entrée, P]