Modul speiger.src.collections
Klasse DoubleArrayFIFOQueue
java.lang.Object
speiger.src.collections.doubles.queues.AbstractDoublePriorityQueue
speiger.src.collections.doubles.queues.DoubleArrayFIFOQueue
- Alle implementierten Schnittstellen:
Iterable<Double>,DoubleIterable,DoublePriorityDequeue,DoublePriorityQueue,ITrimmable
public class DoubleArrayFIFOQueue
extends AbstractDoublePriorityQueue
implements DoublePriorityDequeue, ITrimmable
A Simple First In First Out Priority Queue that is a Good Replacement for a linked list (or ArrayDequeue)
Its specific implementation uses a backing array that grows and shrinks as it is needed.
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungstatic final intThe Minimum Capacity that is allowed -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungDefault ConstrutorDoubleArrayFIFOQueue(double[] values) Constructor using a initial arrayDoubleArrayFIFOQueue(double[] values, int size) Constructor using a initial arrayDoubleArrayFIFOQueue(double[] values, int offset, int size) Constructor using a initial arrayDoubleArrayFIFOQueue(int capacity) Constructor with a Min Capacity -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoidclear()clears all elements within the PriorityQueue, this does not resize the backing arraysvoidclearAndTrim(int size) Trims the collection down to the requested size and clears all elements while doing sobooleancontains(double e) Method to find out if a element is part of the queuecopy()A Function that does a shallow clone of the PriorityQueue itself.intcount(DoublePredicate filter) Helper function to reduce stream usage that allows to count the valid elements.doubledequeue()Method to extract a element from the PriorityQueuedoubleA Method to remove a element from the last place instead of the firstvoidenqueue(double e) Method to insert a element into the PriorityQueuevoidenqueueFirst(double e) Method to insert a element into the first Index instead of the last.doublefindFirst(DoublePredicate filter) Helper function to reduce stream usage that allows to filter for the first match.<E> voidforEach(E input, ObjectDoubleConsumer<E> action) Helper function to reduce Lambda usage and allow for more method references, since these are faster/cleaner.voidforEach(DoubleConsumer action) A Type Specific foreach function that reduces (un)boxingvoidforEachIndexed(IntDoubleConsumer action) A Indexed forEach implementation that allows you to keep track of how many elements were already iterated over.iterator()Returns an iterator over elements of typeT.booleanmatchesAll(DoublePredicate filter) Helper function to reduce stream usage that allows to filter for all matches.booleanmatchesAny(DoublePredicate filter) Helper function to reduce stream usage that allows to filter for any matches.booleanmatchesNone(DoublePredicate filter) Helper function to reduce stream usage that allows to filter for no matches.voidAllows to notify the Queue to be revalidate its datadoublepeek(int index) Peeking function to see whats inside the queue.doublereduce(double identity, DoubleDoubleUnaryOperator operator) Performs a reduction on the elements of this Iterabledoublereduce(DoubleDoubleUnaryOperator operator) Performs a reduction on the elements of this IterablebooleanremoveFirst(double e) Removes the first found element in the queuebooleanremoveLast(double e) Removes the last found element in the queueintsize()double[]toDoubleArray(double[] input) A method to drop the contents of the Queue without clearing the queuebooleantrim(int size) Trims the original collection down to the size of the current elements or the requested size depending which is biggerVon Klasse geerbte Methoden speiger.src.collections.doubles.queues.AbstractDoublePriorityQueue
equals, hashCode, toStringVon Schnittstelle geerbte Methoden speiger.src.collections.doubles.collections.DoubleIterable
arrayflatMap, asAsync, distinct, filter, flatMap, forEach, limit, map, peek, pour, pourAsList, pourAsSet, repeat, sorted, spliteratorVon Schnittstelle geerbte Methoden speiger.src.collections.doubles.queues.DoublePriorityDequeue
enqueueAllFirst, enqueueAllFirst, enqueueAllFirst, enqueueAllFirst, last, synchronizeQueue, synchronizeQueueVon Schnittstelle geerbte Methoden speiger.src.collections.doubles.queues.DoublePriorityQueue
enqueueAll, enqueueAll, enqueueAll, enqueueAll, first, isEmpty, toDoubleArrayVon Schnittstelle geerbte Methoden speiger.src.collections.utils.ITrimmable
clearAndTrim, trim
-
Felddetails
-
MIN_CAPACITY
public static final int MIN_CAPACITYThe Minimum Capacity that is allowed- Siehe auch:
-
-
Konstruktordetails
-
DoubleArrayFIFOQueue
public DoubleArrayFIFOQueue(double[] values) Constructor using a initial array- Parameter:
values- the Array that should be used
-
DoubleArrayFIFOQueue
public DoubleArrayFIFOQueue(double[] values, int size) Constructor using a initial array- Parameter:
values- the Array that should be usedsize- the amount of elements that are in the initial array- Löst aus:
IllegalStateException- if values is smaller then size
-
DoubleArrayFIFOQueue
public DoubleArrayFIFOQueue(double[] values, int offset, int size) Constructor using a initial array- Parameter:
values- the Array that should be usedoffset- where to begin in the initial arraysize- the amount of elements that are in the initial array- Löst aus:
IllegalStateException- if values is smaller then size
-
DoubleArrayFIFOQueue
public DoubleArrayFIFOQueue(int capacity) Constructor with a Min Capacity- Parameter:
capacity- the initial capacity of the backing array- Löst aus:
IllegalStateException- if the initial size is smaller 0
-
DoubleArrayFIFOQueue
public DoubleArrayFIFOQueue()Default Construtor
-
-
Methodendetails
-
iterator
Beschreibung aus Schnittstelle kopiert:DoubleIterableReturns an iterator over elements of typeT.- Angegeben von:
iteratorin SchnittstelleDoubleIterable- Angegeben von:
iteratorin SchnittstelleIterable<Double>- Gibt zurück:
- an Iterator.
-
size
public int size()- Angegeben von:
sizein SchnittstelleDoublePriorityQueue- Gibt zurück:
- the amount of elements that are stored in the PriorityQueue
-
clear
public void clear()Beschreibung aus Schnittstelle kopiert:DoublePriorityQueueclears all elements within the PriorityQueue, this does not resize the backing arrays- Angegeben von:
clearin SchnittstelleDoublePriorityQueue
-
enqueue
public void enqueue(double e) Beschreibung aus Schnittstelle kopiert:DoublePriorityQueueMethod to insert a element into the PriorityQueue- Angegeben von:
enqueuein SchnittstelleDoublePriorityQueue- Parameter:
e- the element that should be inserted
-
enqueueFirst
public void enqueueFirst(double e) Beschreibung aus Schnittstelle kopiert:DoublePriorityDequeueMethod to insert a element into the first Index instead of the last.- Angegeben von:
enqueueFirstin SchnittstelleDoublePriorityDequeue- Parameter:
e- the element that should be inserted into the first place
-
dequeue
public double dequeue()Beschreibung aus Schnittstelle kopiert:DoublePriorityQueueMethod to extract a element from the PriorityQueue- Angegeben von:
dequeuein SchnittstelleDoublePriorityQueue- Gibt zurück:
- a element from the Queue
-
dequeueLast
public double dequeueLast()Beschreibung aus Schnittstelle kopiert:DoublePriorityDequeueA Method to remove a element from the last place instead of the first- Angegeben von:
dequeueLastin SchnittstelleDoublePriorityDequeue- Gibt zurück:
- the last element inserted
-
peek
public double peek(int index) Beschreibung aus Schnittstelle kopiert:DoublePriorityQueuePeeking function to see whats inside the queue.- Angegeben von:
peekin SchnittstelleDoublePriorityQueue- Parameter:
index- of the element that is requested to be viewed.- Gibt zurück:
- the element that is requested
-
contains
public boolean contains(double e) Beschreibung aus Schnittstelle kopiert:DoublePriorityQueueMethod to find out if a element is part of the queue- Angegeben von:
containsin SchnittstelleDoublePriorityQueue- Parameter:
e- the element that is searched for- Gibt zurück:
- true if the element is in the queue
-
removeFirst
public boolean removeFirst(double e) Beschreibung aus Schnittstelle kopiert:DoublePriorityQueueRemoves the first found element in the queue- Angegeben von:
removeFirstin SchnittstelleDoublePriorityQueue- Parameter:
e- the element that should be removed- Gibt zurück:
- if a searched element was removed
-
removeLast
public boolean removeLast(double e) Beschreibung aus Schnittstelle kopiert:DoublePriorityQueueRemoves the last found element in the queue- Angegeben von:
removeLastin SchnittstelleDoublePriorityQueue- Parameter:
e- the element that should be removed- Gibt zurück:
- if a searched element was removed
-
onChanged
public void onChanged()Beschreibung aus Schnittstelle kopiert:DoublePriorityQueueAllows to notify the Queue to be revalidate its data- Angegeben von:
onChangedin SchnittstelleDoublePriorityQueue
-
copy
Beschreibung aus Schnittstelle kopiert:DoublePriorityQueueA Function that does a shallow clone of the PriorityQueue itself. This function is more optimized then a copy constructor since the PriorityQueue does not have to be unsorted/resorted. It can be compared to Cloneable but with less exception risk- Angegeben von:
copyin SchnittstelleDoublePriorityDequeue- Angegeben von:
copyin SchnittstelleDoublePriorityQueue- Gibt zurück:
- a Shallow Copy of the PriorityQueue
-
comparator
- Angegeben von:
comparatorin SchnittstelleDoublePriorityQueue- Gibt zurück:
- the sorter of the Queue, can be null
-
forEach
Beschreibung aus Schnittstelle kopiert:DoubleIterableA Type Specific foreach function that reduces (un)boxing- Angegeben von:
forEachin SchnittstelleDoubleIterable- Parameter:
action- The action to be performed for each element- Siehe auch:
-
forEachIndexed
Beschreibung aus Schnittstelle kopiert:DoubleIterableA Indexed forEach implementation that allows you to keep track of how many elements were already iterated over.- Angegeben von:
forEachIndexedin SchnittstelleDoubleIterable- Parameter:
action- The action to be performed for each element
-
forEach
Beschreibung aus Schnittstelle kopiert:DoubleIterableHelper function to reduce Lambda usage and allow for more method references, since these are faster/cleaner.- Angegeben von:
forEachin SchnittstelleDoubleIterable- Typparameter:
E- the generic type of the Object- Parameter:
input- the object that should be includedaction- The action to be performed for each element
-
matchesAny
Beschreibung aus Schnittstelle kopiert:DoubleIterableHelper function to reduce stream usage that allows to filter for any matches.- Angegeben von:
matchesAnyin SchnittstelleDoubleIterable- Parameter:
filter- that should be applied- Gibt zurück:
- true if any matches were found
-
matchesNone
Beschreibung aus Schnittstelle kopiert:DoubleIterableHelper function to reduce stream usage that allows to filter for no matches.- Angegeben von:
matchesNonein SchnittstelleDoubleIterable- Parameter:
filter- that should be applied- Gibt zurück:
- true if no matches were found
-
matchesAll
Beschreibung aus Schnittstelle kopiert:DoubleIterableHelper function to reduce stream usage that allows to filter for all matches.- Angegeben von:
matchesAllin SchnittstelleDoubleIterable- Parameter:
filter- that should be applied- Gibt zurück:
- true if all matches.
-
findFirst
Beschreibung aus Schnittstelle kopiert:DoubleIterableHelper function to reduce stream usage that allows to filter for the first match.- Angegeben von:
findFirstin SchnittstelleDoubleIterable- Parameter:
filter- that should be applied- Gibt zurück:
- the found value or the null equivalent variant.
-
reduce
Beschreibung aus Schnittstelle kopiert:DoubleIterablePerforms a reduction on the elements of this Iterable- Angegeben von:
reducein SchnittstelleDoubleIterable- Parameter:
identity- the start valueoperator- the operation that should be applied- Gibt zurück:
- the reduction result, returns identity if nothing was found
-
reduce
Beschreibung aus Schnittstelle kopiert:DoubleIterablePerforms a reduction on the elements of this Iterable- Angegeben von:
reducein SchnittstelleDoubleIterable- Parameter:
operator- the operation that should be applied- Gibt zurück:
- the reduction result, returns null value if nothing was found
-
count
Beschreibung aus Schnittstelle kopiert:DoubleIterableHelper function to reduce stream usage that allows to count the valid elements.- Angegeben von:
countin SchnittstelleDoubleIterable- Parameter:
filter- that should be applied- Gibt zurück:
- the amount of Valid Elements
-
trim
public boolean trim(int size) Beschreibung aus Schnittstelle kopiert:ITrimmableTrims the original collection down to the size of the current elements or the requested size depending which is bigger- Angegeben von:
trimin SchnittstelleITrimmable- Parameter:
size- the requested trim size.- Gibt zurück:
- if the internal array has been trimmed.
-
clearAndTrim
public void clearAndTrim(int size) Trims the collection down to the requested size and clears all elements while doing so- Angegeben von:
clearAndTrimin SchnittstelleITrimmable- Parameter:
size- the amount of elements that should be allowed- Note:
- this will enforce minimum size of the collection itself
-
toDoubleArray
public double[] toDoubleArray(double[] input) Beschreibung aus Schnittstelle kopiert:DoublePriorityQueueA method to drop the contents of the Queue without clearing the queue- Angegeben von:
toDoubleArrayin SchnittstelleDoublePriorityQueue- Parameter:
input- where the elements should be inserted to. If it does not fit then it creates a new appropiatly created array- Gibt zurück:
- the contents of the queue into a seperate array.
-