УсловиеПриоритетБлокировкаОчередь

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Объект
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 , ожидая при необходимости, пока такой элемент не станет доступным.

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

УсловиеПриоритетБлокировкаОчередь

public ConditionPriorityBlockingQueue ()

Создает ConditionPriorityBlockingQueue

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

УсловиеПриоритетБлокировкаОчередь

public ConditionPriorityBlockingQueue ( c)

Создает ConditionPriorityBlockingQueue

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

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

добавлять

public boolean add (T addedElement)

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

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

Возврат
boolean true

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

добавитьУникальный

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> иначе.

получить копию

public  getCopy ()

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

Возврат

итератор

public  iterator ()

Возврат

голосование

public T poll (long timeout, 
                TimeUnit unit)

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

Блокирует время 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 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 если прервали во время ожидания