SortedArrayList is an ArrayList that remembers how it is sorted, so that if you ask it to sort, it can sometimes bypass the work when it is already in order. You declare the order you want and it keeps the list sorted, You just call sort whenever you need the list to be in perfect order. Merge lets you merge/prune two SortedArrayLists in any of 32 different ways, e.g. union, intersection, update...
This is a pair of library classes to include in your own code for manipulating ArrayLists. It consist of two classes: SortedArrayList and Merge. SortedArrayList is an ArrayList that remembers how it is sorted, so that if you ask it to sort, it can sometimes bypass the work when it is already in order. You declare the order you want and it keeps the list sorted, You just call sort whenever you need the list to be in perfect order. It may or may not actually sort the list at that time. It automatically avoids physically sorting when it does not really have to. Merge lets you merge/prune two SortedArrayLists in any of 32 different ways, e.g. union, intersection, update... It also lets you dedup and prune individual SortedArrayLists. They are used extensively as part the replicatorsender package. Having an look at that code may give you a more realistic view of what they can do. To use them, have a look at the source code and the sample drivers. They don't do anything useful standalone. You must incorporate them into your own code. Why the spectrum icon? It represent the colours of light sorted in order by wavelength.
Download and use it now: SortedArrayList and Merge