1. package com.hoho.datastruture.queue;
    2. import com.hoho.datastruture.array.Array;
    3. public class ArrayQueue<E> implements Queue<E> {
    4. private Array<E> array;
    5. private ArrayQueue(int capacity){
    6. array = new Array<>(capacity);
    7. }
    8. private ArrayQueue(){
    9. array = new Array<>();
    10. }
    11. @Override
    12. public void enqueue(E e) {
    13. array.addLast(e);
    14. }
    15. @Override
    16. public E deque() {
    17. return array.removeFirst();
    18. }
    19. @Override
    20. public E getFront() {
    21. return array.getFirst();
    22. }
    23. @Override
    24. public int getSize() {
    25. return array.getSize();
    26. }
    27. @Override
    28. public boolean isEmpty() {
    29. return array.isEmpty();
    30. }
    31. public int getCapacity() {
    32. return array.getCapacity();
    33. }
    34. @Override
    35. public String toString() {
    36. StringBuilder res = new StringBuilder();
    37. res.append("Queue:");
    38. res.append("front [");
    39. for (int i = 0; i < array.getSize(); i++) {
    40. res.append(array.get(i));
    41. if (i != array.getSize() - 1) {
    42. res.append(", ");
    43. }
    44. }
    45. res.append("]");
    46. return res.toString();
    47. }
    48. public static void main(String[] args) {
    49. ArrayQueue<Integer> queue = new ArrayQueue<>();
    50. for (int i = 0; i < 10; i++) {
    51. queue.enqueue(i);
    52. }
    53. System.out.println(queue);
    54. }
    55. }