org.planx.msd.character
Class SizeCharSequenceDiscriminator<T extends CharSequence>
java.lang.Object
org.planx.msd.util.AbstractDiscriminator<T>
org.planx.msd.character.SizeCharSequenceDiscriminator<T>
- All Implemented Interfaces:
- Discriminator<T>
public class SizeCharSequenceDiscriminator<T extends CharSequence>
- extends AbstractDiscriminator<T>
A Discriminator capable of discriminating a multiset of
CharSequence objects (e.g Strings).
This implementation performs an initial partitioning on the lengths of
the CharSequences. Unless the size of the CharSequences
differ very much, this implementation will be slower than the standard
CharSequenceDiscriminator.
Note that this implementation is not synchronized. If multiple
threads access an instance of this class concurrently, it must be
synchronized externally.
- Author:
- Thomas Ambus
|
Method Summary |
|
discriminate(List<? extends U> values,
Extractor<U,? extends T,S> e)
Discriminates a List of values using an Extractor,
and returns a Collection of Lists, each
representing an equivalence class containing elements from
values that are equivalent. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SizeCharSequenceDiscriminator
public SizeCharSequenceDiscriminator(Memory memory)
- Constructs a new
CharSequenceDiscriminator reusing the memory
allocated in the specified Memory.
discriminate
public <U,S> Collection<List<S>> discriminate(List<? extends U> values,
Extractor<U,? extends T,S> e)
- Description copied from interface:
Discriminator
- Discriminates a
List of values using an Extractor,
and returns a Collection of Lists, each
representing an equivalence class containing elements from
values that are equivalent.
The Extractor performs the task of extracting two kinds
of objects from the input values: The label which
is the object equivalence is defined upon, and the value which
is the object that will be returned. That is, the label
determines which equivalence class the value goes into.
The Collection of Lists returned should be
considered unmodifiable (though, in some cases they might actually be
modifiable, but this behaviour should not be relied upon).
- Specified by:
discriminate in interface Discriminator<T extends CharSequence>- Specified by:
discriminate in class AbstractDiscriminator<T extends CharSequence>
Copyright © 2010. All Rights Reserved.