public class FixedCapacityLongDoubleMinHeap extends Object implements Long2DoubleMapEntryIterable
Constructor and Description |
---|
FixedCapacityLongDoubleMinHeap(int capacity)
Initialize the heap with desired capacity
|
Modifier and Type | Method and Description |
---|---|
void |
add(long key,
double value)
Add a key value pair
|
void |
clear()
Clear the heap
|
protected int |
compare(long key1,
double value1,
long key2,
double value2)
Comapre two (key, value) entries
|
void |
forEachLongDouble(LongDoubleConsumer f)
Traverse all elements of the heap, calling given function on each element.
|
boolean |
forEachWhileLongDouble(LongDoublePredicate f)
Traverse all elements of the heap, calling given function on each element,
or until predicate returns false.
|
int |
getCapacity()
Get capacity of the heap
|
long |
getMinKey() |
double |
getMinValue() |
boolean |
isEmpty()
Check if the heap is empty
|
it.unimi.dsi.fastutil.objects.ObjectIterator<it.unimi.dsi.fastutil.longs.Long2DoubleMap.Entry> |
iterator()
Get the iterator.
|
static FixedCapacityLongDoubleMinHeap |
read(FixedCapacityLongDoubleMinHeap heap,
DataInput in)
Deserializes an object from data input.
|
void |
removeMin()
Removes the (key, value) pair that corresponds to the minimum value
currently in the heap.
|
int |
size()
Get the size of this iterable
|
static void |
write(FixedCapacityLongDoubleMinHeap heap,
DataOutput out)
Serializes an object into data output.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public FixedCapacityLongDoubleMinHeap(int capacity)
capacity
- Capacitypublic void clear()
public void add(long key, double value)
key
- Keyvalue
- Valuepublic long getMinKey()
NoSuchElementException
- if the heap is empty.public double getMinValue()
NoSuchElementException
- if the heap is empty.public void removeMin()
protected int compare(long key1, double value1, long key2, double value2)
key1
- First keyvalue1
- First valuekey2
- Second keyvalue2
- Second valuepublic it.unimi.dsi.fastutil.objects.ObjectIterator<it.unimi.dsi.fastutil.longs.Long2DoubleMap.Entry> iterator()
Long2DoubleMapEntryIterable
iterator
in interface it.unimi.dsi.fastutil.objects.ObjectIterable<it.unimi.dsi.fastutil.longs.Long2DoubleMap.Entry>
iterator
in interface Iterable<it.unimi.dsi.fastutil.longs.Long2DoubleMap.Entry>
iterator
in interface Long2DoubleMapEntryIterable
public int size()
Long2DoubleMapEntryIterable
size
in interface Long2DoubleMapEntryIterable
public boolean isEmpty()
public int getCapacity()
public static void write(FixedCapacityLongDoubleMinHeap heap, DataOutput out) throws IOException
heap
- Object instance to serializeout
- Data outputIOException
public static FixedCapacityLongDoubleMinHeap read(FixedCapacityLongDoubleMinHeap heap, DataInput in) throws IOException
heap
- Object to reuse if possiblein
- Data inputIOException
public void forEachLongDouble(LongDoubleConsumer f)
f
- Function to call on each element.public boolean forEachWhileLongDouble(LongDoublePredicate f)
f
- Function to call on each element.Copyright © 2011-2020 The Apache Software Foundation. All Rights Reserved.