Какую структуру данных нужно использовать?
Структура данных должна уметь добавлять объекты в свой конец. И удалять свои первые объекты. Т.е. первый зашёл - первый вышел. Количество запоминаемых объектов заранее не известно и меняется в ходе работы программы. Естественно время выполнения этих задач должно быть минимальным. Подскажите, какой структурой данных воспользоваться для решения поставленной задачи?
Ответы (1 шт):
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