Какую структуру данных нужно использовать?

Структура данных должна уметь добавлять объекты в свой конец. И удалять свои первые объекты. Т.е. первый зашёл - первый вышел. Количество запоминаемых объектов заранее не известно и меняется в ходе работы программы. Естественно время выполнения этих задач должно быть минимальным. Подскажите, какой структурой данных воспользоваться для решения поставленной задачи?


Ответы (1 шт):

Автор решения: gil9red

Queue это интерфейс, чтобы с очередью поработать нужно использовать одну из множества его реализаций:

AbstractQueue, ArrayBlockingQueue, ArrayDeque, BlockingDeque, BlockingQueue, ConcurrentLinkedDeque, ConcurrentLinkedQueue, DelayQueue, Deque, LinkedBlockingDeque, LinkedBlockingQueue, LinkedList, LinkedTransferQueue, PriorityBlockingQueue, PriorityQueue, SynchronousQueue, TransferQueue

Например LinkedList:

Queue<Integer> queue = new LinkedList<>();
queue.add(1);
queue.add(2);
queue.add(3);
for (Integer x : queue) {
    System.out.print(x + " ");
}
System.out.println();
// 1 2 3 

System.out.println(queue.poll()); // 1
System.out.println(queue.poll()); // 2
System.out.println(queue.poll()); // 3
→ Ссылка