Package org.openjdk.jmc.common.util
Class SortedHead<T>
- java.lang.Object
-
- org.openjdk.jmc.common.util.SortedHead<T>
-
- Type Parameters:
T- type of items to hold in the collection
public class SortedHead<T> extends Object
A collection of items that are divided in a sorted head and an unsorted tail. Keeps the head sorted according to comparator. Other objects are unsorted in tail.
-
-
Constructor Summary
Constructors Constructor Description SortedHead(T[] head, Comparator<? super T> comparator)Create a new collection with an initial head.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddObject(T o)Add an item to the collection.static <T> voidaddSorted(Iterator<? extends T> sourceIterator, T[] fullHead, SimpleArray<T> tail, Comparator<? super T> comparator)Convenience method for sorting items into a head of fixed size and a growable tail.T[]getTail()Get the tail items.
-
-
-
Constructor Detail
-
SortedHead
public SortedHead(T[] head, Comparator<? super T> comparator)
Create a new collection with an initial head.- Parameters:
head- Head items. The array must contain at least one item but does not need to be sorted. This array will be sorted every time the collection is added to withaddObject(Object).comparator- comparator to use when sorting
-
-
Method Detail
-
getTail
public T[] getTail()
Get the tail items.- Returns:
- an array with the tail items
-
addObject
public void addObject(T o)
Add an item to the collection.- Parameters:
o- item to add
-
addSorted
public static <T> void addSorted(Iterator<? extends T> sourceIterator, T[] fullHead, SimpleArray<T> tail, Comparator<? super T> comparator)
Convenience method for sorting items into a head of fixed size and a growable tail. There is no return value from the method, the result is instead located in the head and tail arguments that are modified by the call.- Parameters:
sourceIterator- iterator that gives items to sortfullHead- An array with current head items. The array may be modified by this method.tail- A growable tail. It may contain items at the start of the method call and items that do not fit in the head are placed here.comparator- comparator to use when sorting
-
-