Spec-Zone .ru
спецификации, руководства, описания, API
|
Queue
реализации группируются в и параллельные реализации общего назначения.
Как упомянуто в предыдущем разделе, LinkedList
реализации Queue
интерфейс, обеспечивая сначала в, сначала (FIFO) работы с очередями для add
, poll
, и так далее.
PriorityQueue
class является приоритетной очередью, основанной на структуре данных "кучи". Эта очередь упорядочивает элементы согласно порядку, определенному во время создания, которое может быть естественным упорядочиванием элементов или упорядочиванием, наложенным явным Comparator
.
Операции извлечения очереди — poll
, remove
, peek
, и element
— получите доступ к элементу во главе очереди. Глава очереди является наименьшим количеством элемента относительно указанного упорядочивания. Если многократные элементы связываются для наименьшего количества значения, голова является одним из тех элементов; связи повреждаются произвольно.
PriorityQueue
и его iterator реализуют все дополнительные методы Collection
и Iterator
интерфейсы. iterator обеспечил в методе iterator
как гарантируют, не пересечет элементы PriorityQueue
в любом определенном порядке. Для упорядоченного обхода рассмотреть использование Arrays.sort(pq.toArray())
.
java.util.concurrent
пакет содержит ряд синхронизируемого Queue
интерфейсы и классы. BlockingQueue
Queue
с операциями, которые ожидают очереди, чтобы стать непустыми, получая элемент и для пространства, чтобы стать доступными в очереди, храня элемент. Этот интерфейс реализуется следующими классами:
LinkedBlockingQueue
ArrayBlockingQueue
PriorityBlockingQueue
DelayQueue
SynchronousQueue
BlockingQueue
интерфейсВ JDK 7, TransferQueue
BlockingQueue
в который код, который добавляет, что у элемента очереди есть опция ожидания (блокирование) для кода в другом потоке, чтобы получить элемент. TransferQueue
имеет единственную реализацию:
LinkedTransferQueue
TransferQueue
основанный на соединенных узлах