ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Object
com.android.tradefed.util.ConditionPriorityBlockingQueue <T>


Поточно-ориентированный класс с операциями типа ERROR(/PriorityBlockingQueue) который может извлекать объекты, соответствующие определенному условию.

Итерация также является потокобезопасной, но не согласованной. Копия очереди создается во время создания итератора, и эта копия используется в качестве цели итерации. Если очередь изменена во время итерации, ERROR(/ConcurrentModificationException) не будет выдан, но итератор также не будет отражать измененное содержимое.

Смотрите также:

Резюме

Вложенные классы

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

ConditionPriorityBlockingQueue.IMatcher , соответствующий любому объекту.

interface ConditionPriorityBlockingQueue.IMatcher <T>

Интерфейс для определения соответствия элементов какому-либо условию.

Общественные конструкторы

ConditionPriorityBlockingQueue ()

Создает ConditionPriorityBlockingQueue

Элементы будут иметь приоритет в порядке FIFO.

ConditionPriorityBlockingQueue ( c) ConditionPriorityBlockingQueue ( c)

Создает ConditionPriorityBlockingQueue

Публичные методы

boolean add (T addedElement)

Вставляет указанный элемент в эту очередь.

T addUnique ( IMatcher <T> matcher, T object)

Добавляет элемент в эту очередь, заменяя любой существующий объект, соответствующий заданному условию

void clear ()

Удаляет все элементы из этой очереди.

boolean contains (T object)

Определите, содержится ли объект в данный момент в этой очереди.

getCopy ()

Получите копию содержимого очереди.

iterator ()

T poll (long timeout, TimeUnit unit)

Извлекает и удаляет минимальный (судя по предоставленному ERROR(/Comparator) элемент T в очереди).

T poll (long timeout, TimeUnit unit, IMatcher <T> matcher)

Извлекает и удаляет минимальный (судя по предоставленному ERROR(/Comparator) элемент T в очереди, где matcher.matches(T) true .

T poll ( IMatcher <T> matcher)

Извлекает и удаляет минимальный (судя по предоставленному ERROR(/Comparator) элемент T в очереди, где matcher.matches(T) true .

T poll ()

Извлекает и удаляет заголовок этой очереди.

boolean remove (T object)

Удаляет элемент из этой очереди.

int size ()
T take ()

Извлекает и удаляет минимальный (судя по предоставленному элементу ERROR(/Comparator) T в очереди).

T take ( IMatcher <T> matcher)

Извлекает и удаляет первый элемент T в очереди, где matcher.matches(T) true , ожидая, если необходимо, пока такой элемент не станет доступным.

Общественные конструкторы

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Создает ConditionPriorityBlockingQueue

Элементы будут иметь приоритет в порядке FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Создает ConditionPriorityBlockingQueue

Параметры
c : ERROR(/Comparator) используемая для определения приоритета очереди.

Публичные методы

Добавлять

public boolean add (T addedElement)

Вставляет указанный элемент в эту очередь. Поскольку очередь не ограничена, этот метод никогда не будет блокироваться.

Параметры
addedElement T : добавляемый элемент

Возврат
boolean true

Броски
ClassCastException если указанный элемент не может быть сравнен с элементами, находящимися в настоящее время в очереди с приоритетами, в соответствии с порядком очереди с приоритетами
NullPointerException если указанный элемент равен нулю

addUnique

public T addUnique (IMatcher<T> matcher, 
                T object)

Добавляет элемент в эту очередь, заменяя любой существующий объект, соответствующий заданному условию

Параметры
matcher IMatcher : сопоставитель для оценки существующих объектов

object T : объект для добавления

Возврат
T замененный объект или null если его нет

Чисто

public void clear ()

Удаляет все элементы из этой очереди.

содержит

public boolean contains (T object)

Определите, содержится ли объект в данный момент в этой очереди.

Параметры
object T : объект, который нужно найти

Возврат
boolean true если данный объект содержится в очереди. false> иначе.

getCopy

public  getCopy ()

Получите копию содержимого очереди.

Возврат

итератор

public  iterator ()

Возврат

голосование

public T poll (long timeout, 
                TimeUnit unit)

Извлекает и удаляет минимальный (судя по предоставленному элементу ERROR(/Comparator) T в очереди).

Блокирует до timeout времени timeout для того, чтобы элемент стал доступным.

Параметры
timeout long : время ожидания, пока элемент станет доступным

unit TimeUnit : ERROR(/TimeUnit) тайм-аута

Возврат
T минимальный совпадающий элемент или null если совпадающих элементов нет

голосование

public T poll (long timeout, 
                TimeUnit unit, 
                IMatcher<T> matcher)

Извлекает и удаляет минимальный (судя по предоставленному элементу ERROR(/Comparator) T в очереди, где matcher.matches(T) true .

Блокирует до timeout времени timeout для того, чтобы элемент стал доступным.

Параметры
timeout long : время ожидания, пока элемент станет доступным

unit TimeUnit : ERROR(/TimeUnit) тайм-аута

matcher IMatcher : IMatcher для оценки элементов

Возврат
T минимальный совпадающий элемент или null если совпадающих элементов нет

голосование

public T poll (IMatcher<T> matcher)

Извлекает и удаляет минимальный (судя по предоставленному элементу ERROR(/Comparator) T в очереди, где matcher.matches(T) true .

Параметры
matcher IMatcher : IMatcher для оценки элементов

Возврат
T минимальный совпадающий элемент или null если совпадающих элементов нет

голосование

public T poll ()

Извлекает и удаляет заголовок этой очереди.

Возврат
T заголовок этой очереди, или null если очередь пуста

Удалить

public boolean remove (T object)

Удаляет элемент из этой очереди.

Параметры
object T : объект для удаления

Возврат
boolean true если данный объект был удален из очереди. false> иначе.

размер

public int size ()

Возврат
int количество элементов в очереди

брать

public T take ()

Извлекает и удаляет минимальный (судя по предоставленному элементу ERROR(/Comparator) T в очереди).

Блокируется на неопределенный срок, пока элемент не станет доступным.

Возврат
T руководитель этой очереди

Броски
InterruptedException если прервать во время ожидания

брать

public T take (IMatcher<T> matcher)

Извлекает и удаляет первый элемент T в очереди, где matcher.matches(T) true , ожидая, если необходимо, пока такой элемент не станет доступным.

Параметры
matcher IMatcher : IMatcher для оценки элементов

Возврат
T согласованный элемент

Броски
InterruptedException если прервать во время ожидания