org.tinygroup.queue.impl
Class PriorityQueueImpl<T>

java.lang.Object
  extended by org.tinygroup.queue.impl.PriorityQueueImpl<T>
All Implemented Interfaces:
PriorityQueue<T>, Queue<T>, QueueMonitor

public class PriorityQueueImpl<T>
extends Object
implements PriorityQueue<T>, QueueMonitor

优先队列 支持优先级提升
User: luoguo
Date: 11-3-30
Time: 下午9:24


Field Summary
 
Fields inherited from interface org.tinygroup.queue.Queue
DEFAULT_QUEUE_SIZE
 
Constructor Summary
PriorityQueueImpl()
           
PriorityQueueImpl(int size)
           
PriorityQueueImpl(int size, int priorityLevel)
          构造函数
 
Method Summary
 T element()
          从队列头部取一个元素,但是不删除。如果队列为空,则抛出异常
 int getCallTimes()
           
 int getCount()
           
 List<org.tinygroup.queue.impl.PriorityQueueImpl.DateQueue<T>>[] getDateQueueListArray()
           
 int getIdleSize()
          返回空闲长度
 String getName()
          返回名字
 PriorityIncreaseStrategy<T> getPriorityIncreaseStrategy()
           
 int getPriorityLevel()
           
 int getReverseLevel()
           
 int getSize()
          返回队列大小
 PriorityIncreaseStrategy<T> getStrategy()
           
 int getTimeslice()
           
 int getUsingSize()
          返回队列长度
 boolean isEmpty()
          返回队列是否为空
 boolean isFull()
          返回是否满
 void offer(T o)
          添加元素到队列中.
 void offer(T o, int pPriority)
          添加元素到队列中.
 T peek()
          从队列头部取一个元素,但是不删除。如果队列为空,则返回NULL
 T poll()
          从队列头部取一个数据并且把它删除掉,如果队列为空,则返回NULL
 T remove()
          从队列头部取一个元素并且把它删除掉,如果队列为空,则抛出异常
 void setName(String name)
           
 void setPriorityIncreaseStrategy(PriorityIncreaseStrategy<T> strategy)
           
 void setReverseLevel(int reverseLevel)
           
 void setTimeslice(int timeslice)
           
 int size()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PriorityQueueImpl

public PriorityQueueImpl()

PriorityQueueImpl

public PriorityQueueImpl(int size)
Parameters:
size -

PriorityQueueImpl

public PriorityQueueImpl(int size,
                         int priorityLevel)
构造函数

Parameters:
size - 如果是0,表示不限制大小
priorityLevel -
Method Detail

getPriorityLevel

public int getPriorityLevel()

getCount

public int getCount()

getDateQueueListArray

public List<org.tinygroup.queue.impl.PriorityQueueImpl.DateQueue<T>>[] getDateQueueListArray()

getCallTimes

public int getCallTimes()

getStrategy

public PriorityIncreaseStrategy<T> getStrategy()

getPriorityIncreaseStrategy

public PriorityIncreaseStrategy<T> getPriorityIncreaseStrategy()

setPriorityIncreaseStrategy

public void setPriorityIncreaseStrategy(PriorityIncreaseStrategy<T> strategy)
Specified by:
setPriorityIncreaseStrategy in interface PriorityQueue<T>

getReverseLevel

public int getReverseLevel()

setReverseLevel

public void setReverseLevel(int reverseLevel)

getTimeslice

public int getTimeslice()

setTimeslice

public void setTimeslice(int timeslice)

offer

public void offer(T o,
                  int pPriority)
Description copied from interface: PriorityQueue
添加元素到队列中.

Specified by:
offer in interface PriorityQueue<T>
Parameters:
o -
pPriority - 从1开始

offer

public void offer(T o)
Description copied from interface: Queue
添加元素到队列中.

Specified by:
offer in interface Queue<T>
Parameters:
o - 要增加的元素

poll

public T poll()
Description copied from interface: Queue
从队列头部取一个数据并且把它删除掉,如果队列为空,则返回NULL

Specified by:
poll in interface Queue<T>
Returns:
元素

remove

public T remove()
Description copied from interface: Queue
从队列头部取一个元素并且把它删除掉,如果队列为空,则抛出异常

Specified by:
remove in interface Queue<T>
Returns:

peek

public T peek()
Description copied from interface: Queue
从队列头部取一个元素,但是不删除。如果队列为空,则返回NULL

Specified by:
peek in interface Queue<T>
Returns:

element

public T element()
Description copied from interface: Queue
从队列头部取一个元素,但是不删除。如果队列为空,则抛出异常

Specified by:
element in interface Queue<T>
Returns:

isEmpty

public boolean isEmpty()
Description copied from interface: Queue
返回队列是否为空

Specified by:
isEmpty in interface Queue<T>
Returns:

isFull

public boolean isFull()
Description copied from interface: Queue
返回是否满

Specified by:
isFull in interface Queue<T>
Returns:

setName

public void setName(String name)

getName

public String getName()
Description copied from interface: QueueMonitor
返回名字

Specified by:
getName in interface QueueMonitor
Returns:

getSize

public int getSize()
Description copied from interface: QueueMonitor
返回队列大小

Specified by:
getSize in interface QueueMonitor
Returns:

getUsingSize

public int getUsingSize()
Description copied from interface: QueueMonitor
返回队列长度

Specified by:
getUsingSize in interface QueueMonitor
Returns:

getIdleSize

public int getIdleSize()
Description copied from interface: QueueMonitor
返回空闲长度

Specified by:
getIdleSize in interface QueueMonitor
Returns:

size

public int size()
Specified by:
size in interface Queue<T>


Copyright © 2006–2015 TinyGroup. All rights reserved.