| Modifier and Type | Method and Description |
|---|---|
static <E> int |
drain(BlockingQueue<E> q,
Collection<? super E> buffer,
int numElements,
long timeout,
TimeUnit unit)
Drains the queue as
BlockingQueue.drainTo(Collection, int), but if the requested numElements elements are not available, it will wait for them up to the specified timeout. |
static <E> int |
drainUninterruptibly(BlockingQueue<E> q,
Collection<? super E> buffer,
int numElements,
long timeout,
TimeUnit unit)
Drains the queue as drain(BlockingQueue, Collection, int, long, TimeUnit), but
with a different behavior in case it is interrupted while waiting.
|
static <E> ArrayBlockingQueue<E> |
newArrayBlockingQueue(int capacity)
Creates an empty
ArrayBlockingQueue with the given (fixed) capacity and nonfair access
policy. |
static <E> ArrayDeque<E> |
newArrayDeque()
Creates an empty
ArrayDeque. |
static <E> ArrayDeque<E> |
newArrayDeque(Iterable<? extends E> elements)
Creates an
ArrayDeque containing the elements of the specified iterable, in the order
they are returned by the iterable's iterator. |
static <E> ConcurrentLinkedQueue<E> |
newConcurrentLinkedQueue()
Creates an empty
ConcurrentLinkedQueue. |
static <E> ConcurrentLinkedQueue<E> |
newConcurrentLinkedQueue(Iterable<? extends E> elements)
Creates a
ConcurrentLinkedQueue containing the elements of the specified iterable, in
the order they are returned by the iterable's iterator. |
static <E> LinkedBlockingDeque<E> |
newLinkedBlockingDeque()
Creates an empty
LinkedBlockingDeque with a capacity of Integer.MAX_VALUE. |
static <E> LinkedBlockingDeque<E> |
newLinkedBlockingDeque(int capacity)
Creates an empty
LinkedBlockingDeque with the given (fixed) capacity. |
static <E> LinkedBlockingDeque<E> |
newLinkedBlockingDeque(Iterable<? extends E> elements)
Creates a
LinkedBlockingDeque with a capacity of Integer.MAX_VALUE, containing
the elements of the specified iterable, in the order they are returned by the iterable's
iterator. |
static <E> LinkedBlockingQueue<E> |
newLinkedBlockingQueue()
Creates an empty
LinkedBlockingQueue with a capacity of Integer.MAX_VALUE. |
static <E> LinkedBlockingQueue<E> |
newLinkedBlockingQueue(int capacity)
Creates an empty
LinkedBlockingQueue with the given (fixed) capacity. |
static <E> LinkedBlockingQueue<E> |
newLinkedBlockingQueue(Iterable<? extends E> elements)
Creates a
LinkedBlockingQueue with a capacity of Integer.MAX_VALUE, containing
the elements of the specified iterable, in the order they are returned by the iterable's
iterator. |
static <E extends Comparable> |
newPriorityBlockingQueue()
Creates an empty
PriorityBlockingQueue with the ordering given by its elements' natural
ordering. |
static <E extends Comparable> |
newPriorityBlockingQueue(Iterable<? extends E> elements)
Creates a
PriorityBlockingQueue containing the given elements. |
static <E extends Comparable> |
newPriorityQueue()
Creates an empty
PriorityQueue with the ordering given by its elements' natural
ordering. |
static <E extends Comparable> |
newPriorityQueue(Iterable<? extends E> elements)
Creates a
PriorityQueue containing the given elements. |
static <E> SynchronousQueue<E> |
newSynchronousQueue()
Creates an empty
SynchronousQueue with nonfair access policy. |
static <E> Deque<E> |
synchronizedDeque(Deque<E> deque)
Returns a synchronized (thread-safe) deque backed by the specified deque.
|
static <E> Queue<E> |
synchronizedQueue(Queue<E> queue)
Returns a synchronized (thread-safe) queue backed by the specified queue.
|
@GwtIncompatible public static <E> ArrayBlockingQueue<E> newArrayBlockingQueue(int capacity)
ArrayBlockingQueue with the given (fixed) capacity and nonfair access
policy.public static <E> ArrayDeque<E> newArrayDeque()
ArrayDeque.public static <E> ArrayDeque<E> newArrayDeque(Iterable<? extends E> elements)
ArrayDeque containing the elements of the specified iterable, in the order
they are returned by the iterable's iterator.@GwtIncompatible public static <E> ConcurrentLinkedQueue<E> newConcurrentLinkedQueue()
ConcurrentLinkedQueue.@GwtIncompatible public static <E> ConcurrentLinkedQueue<E> newConcurrentLinkedQueue(Iterable<? extends E> elements)
ConcurrentLinkedQueue containing the elements of the specified iterable, in
the order they are returned by the iterable's iterator.@GwtIncompatible public static <E> LinkedBlockingDeque<E> newLinkedBlockingDeque()
LinkedBlockingDeque with a capacity of Integer.MAX_VALUE.@GwtIncompatible public static <E> LinkedBlockingDeque<E> newLinkedBlockingDeque(int capacity)
LinkedBlockingDeque with the given (fixed) capacity.IllegalArgumentException - if capacity is less than 1@GwtIncompatible public static <E> LinkedBlockingDeque<E> newLinkedBlockingDeque(Iterable<? extends E> elements)
LinkedBlockingDeque with a capacity of Integer.MAX_VALUE, containing
the elements of the specified iterable, in the order they are returned by the iterable's
iterator.@GwtIncompatible public static <E> LinkedBlockingQueue<E> newLinkedBlockingQueue()
LinkedBlockingQueue with a capacity of Integer.MAX_VALUE.@GwtIncompatible public static <E> LinkedBlockingQueue<E> newLinkedBlockingQueue(int capacity)
LinkedBlockingQueue with the given (fixed) capacity.IllegalArgumentException - if capacity is less than 1@GwtIncompatible public static <E> LinkedBlockingQueue<E> newLinkedBlockingQueue(Iterable<? extends E> elements)
LinkedBlockingQueue with a capacity of Integer.MAX_VALUE, containing
the elements of the specified iterable, in the order they are returned by the iterable's
iterator.elements - the elements that the queue should contain, in orderLinkedBlockingQueue containing those elements@GwtIncompatible public static <E extends Comparable> PriorityBlockingQueue<E> newPriorityBlockingQueue()
PriorityBlockingQueue with the ordering given by its elements' natural
ordering.E be Comparable since 15.0).@GwtIncompatible public static <E extends Comparable> PriorityBlockingQueue<E> newPriorityBlockingQueue(Iterable<? extends E> elements)
PriorityBlockingQueue containing the given elements.
Note: If the specified iterable is a SortedSet or a PriorityQueue,
this priority queue will be ordered according to the same ordering.
E be Comparable since 15.0).public static <E extends Comparable> PriorityQueue<E> newPriorityQueue()
PriorityQueue with the ordering given by its elements' natural
ordering.E be Comparable since 15.0).public static <E extends Comparable> PriorityQueue<E> newPriorityQueue(Iterable<? extends E> elements)
PriorityQueue containing the given elements.
Note: If the specified iterable is a SortedSet or a PriorityQueue,
this priority queue will be ordered according to the same ordering.
E be Comparable since 15.0).@GwtIncompatible public static <E> SynchronousQueue<E> newSynchronousQueue()
SynchronousQueue with nonfair access policy.@Beta @CanIgnoreReturnValue @GwtIncompatible public static <E> int drain(BlockingQueue<E> q, Collection<? super E> buffer, int numElements, long timeout, TimeUnit unit) throws InterruptedException
BlockingQueue.drainTo(Collection, int), but if the requested numElements elements are not available, it will wait for them up to the specified timeout.q - the blocking queue to be drainedbuffer - where to add the transferred elementsnumElements - the number of elements to be waited fortimeout - how long to wait before giving up, in units of unitunit - a TimeUnit determining how to interpret the timeout parameterInterruptedException - if interrupted while waiting@Beta @CanIgnoreReturnValue @GwtIncompatible public static <E> int drainUninterruptibly(BlockingQueue<E> q, Collection<? super E> buffer, int numElements, long timeout, TimeUnit unit)
InterruptedException is thrown).q - the blocking queue to be drainedbuffer - where to add the transferred elementsnumElements - the number of elements to be waited fortimeout - how long to wait before giving up, in units of unitunit - a TimeUnit determining how to interpret the timeout parameterpublic static <E> Queue<E> synchronizedQueue(Queue<E> queue)
It is imperative that the user manually synchronize on the returned queue when accessing the queue's iterator:
Queue<E> queue = Queues.synchronizedQueue(MinMaxPriorityQueue.<E>create());
...
queue.add(element); // Needn't be in synchronized block
...
synchronized (queue) { // Must synchronize on queue!
Iterator<E> i = queue.iterator(); // Must be in synchronized block
while (i.hasNext()) {
foo(i.next());
}
}
Failure to follow this advice may result in non-deterministic behavior.
The returned queue will be serializable if the specified queue is serializable.
queue - the queue to be wrapped in a synchronized viewpublic static <E> Deque<E> synchronizedDeque(Deque<E> deque)
It is imperative that the user manually synchronize on the returned deque when accessing any of the deque's iterators:
Deque<E> deque = Queues.synchronizedDeque(Queues.<E>newArrayDeque());
...
deque.add(element); // Needn't be in synchronized block
...
synchronized (deque) { // Must synchronize on deque!
Iterator<E> i = deque.iterator(); // Must be in synchronized block
while (i.hasNext()) {
foo(i.next());
}
}
Failure to follow this advice may result in non-deterministic behavior.
The returned deque will be serializable if the specified deque is serializable.
deque - the deque to be wrapped in a synchronized viewCopyright © 2010–2020. All rights reserved.