public final class BinaryHeap extends java.util.AbstractCollection implements PriorityQueue, Buffer
PriorityQueue
.
The PriorityQueue
interface has now been replaced for most uses
by the Buffer
interface. This class and the interface are
retained for backwards compatibility. The intended replacement is
PriorityBuffer
.
The removal order of a binary heap is based on either the natural sort
order of its elements or a specified Comparator
. The
pop()
method always returns the first element as determined
by the sort order. (The isMinHeap
flag in the constructors
can be used to reverse the sort order, in which case pop()
will always remove the last element.) The removal order is
not the same as the order of iteration; elements are
returned by the iterator in no particular order.
The insert(Object)
and pop()
operations perform
in logarithmic time. The peek()
operation performs in constant
time. All other operations perform in linear time or worse.
Note that this implementation is not synchronized. Use SynchronizedPriorityQueue
to provide synchronized access to a BinaryHeap
:
PriorityQueue heap = new SynchronizedPriorityQueue(new BinaryHeap());
Constructor and Description |
---|
BinaryHeap()
Deprecated.
Constructs a new minimum binary heap.
|
BinaryHeap(boolean isMinHeap)
Deprecated.
Constructs a new minimum or maximum binary heap
|
BinaryHeap(boolean isMinHeap,
java.util.Comparator comparator)
Deprecated.
Constructs a new
BinaryHeap . |
BinaryHeap(java.util.Comparator comparator)
Deprecated.
Constructs a new
BinaryHeap that will use the given
comparator to order its elements. |
BinaryHeap(int capacity)
Deprecated.
Constructs a new minimum binary heap with the specified initial capacity.
|
BinaryHeap(int capacity,
boolean isMinHeap)
Deprecated.
Constructs a new minimum or maximum binary heap with the specified
initial capacity.
|
BinaryHeap(int capacity,
boolean isMinHeap,
java.util.Comparator comparator)
Deprecated.
Constructs a new
BinaryHeap . |
BinaryHeap(int capacity,
java.util.Comparator comparator)
Deprecated.
Constructs a new
BinaryHeap . |
Modifier and Type | Method and Description |
---|---|
boolean |
add(java.lang.Object object)
Deprecated.
Adds an object to this heap.
|
void |
clear()
Deprecated.
Clears all elements from queue.
|
java.lang.Object |
get()
Deprecated.
Returns the priority element.
|
void |
insert(java.lang.Object element)
Deprecated.
Inserts an element into queue.
|
boolean |
isEmpty()
Deprecated.
Tests if queue is empty.
|
boolean |
isFull()
Deprecated.
Tests if queue is full.
|
java.util.Iterator |
iterator()
Deprecated.
Returns an iterator over this heap's elements.
|
java.lang.Object |
peek()
Deprecated.
Returns the element on top of heap but don't remove it.
|
java.lang.Object |
pop()
Deprecated.
Returns the element on top of heap and remove it.
|
java.lang.Object |
remove()
Deprecated.
Removes the priority element.
|
int |
size()
Deprecated.
Returns the number of elements in this heap.
|
java.lang.String |
toString()
Deprecated.
Returns a string representation of this heap.
|
addAll, contains, containsAll, remove, removeAll, retainAll, toArray, toArray
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
public BinaryHeap()
public BinaryHeap(java.util.Comparator comparator)
BinaryHeap
that will use the given
comparator to order its elements.comparator
- the comparator used to order the elements, null
means use natural orderpublic BinaryHeap(int capacity)
capacity
- The initial capacity for the heap. This value must
be greater than zero.java.lang.IllegalArgumentException
- if capacity
is <= 0
public BinaryHeap(int capacity, java.util.Comparator comparator)
BinaryHeap
.capacity
- the initial capacity for the heapcomparator
- the comparator used to order the elements, null
means use natural orderjava.lang.IllegalArgumentException
- if capacity
is <= 0
public BinaryHeap(boolean isMinHeap)
isMinHeap
- if true
the heap is created as a
minimum heap; otherwise, the heap is created as a maximum heappublic BinaryHeap(boolean isMinHeap, java.util.Comparator comparator)
BinaryHeap
.isMinHeap
- true to use the order imposed by the given
comparator; false to reverse that ordercomparator
- the comparator used to order the elements, null
means use natural orderpublic BinaryHeap(int capacity, boolean isMinHeap)
capacity
- the initial capacity for the heap. This value must
be greater than zero.isMinHeap
- if true
the heap is created as a
minimum heap; otherwise, the heap is created as a maximum heap.java.lang.IllegalArgumentException
- if capacity
is <= 0
public BinaryHeap(int capacity, boolean isMinHeap, java.util.Comparator comparator)
BinaryHeap
.capacity
- the initial capacity for the heapisMinHeap
- true to use the order imposed by the given
comparator; false to reverse that ordercomparator
- the comparator used to order the elements, null
means use natural orderjava.lang.IllegalArgumentException
- if capacity
is <= 0
public void clear()
clear
in interface java.util.Collection
clear
in interface PriorityQueue
clear
in class java.util.AbstractCollection
public boolean isEmpty()
isEmpty
in interface java.util.Collection
isEmpty
in interface PriorityQueue
isEmpty
in class java.util.AbstractCollection
true
if queue is empty; false
otherwise.public boolean isFull()
true
if queue is full; false
otherwise.public void insert(java.lang.Object element)
insert
in interface PriorityQueue
element
- the element to be insertedpublic java.lang.Object peek() throws java.util.NoSuchElementException
peek
in interface PriorityQueue
java.util.NoSuchElementException
- if isEmpty() == true
public java.lang.Object pop() throws java.util.NoSuchElementException
pop
in interface PriorityQueue
java.util.NoSuchElementException
- if isEmpty() == true
public java.lang.String toString()
toString
in class java.util.AbstractCollection
public java.util.Iterator iterator()
iterator
in interface java.lang.Iterable
iterator
in interface java.util.Collection
iterator
in class java.util.AbstractCollection
public boolean add(java.lang.Object object)
insert(Object)
.add
in interface java.util.Collection
add
in class java.util.AbstractCollection
object
- the object to addpublic java.lang.Object get()
peek()
.get
in interface Buffer
BufferUnderflowException
- if this heap is emptypublic java.lang.Object remove()
pop()
.remove
in interface Buffer
BufferUnderflowException
- if this heap is emptypublic int size()
size
in interface java.util.Collection
size
in class java.util.AbstractCollection
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"