|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.restlet.engine.util.AlphabeticalComparator
org.restlet.engine.util.AlphaNumericComparator
public class AlphaNumericComparator
Optimized public-domain implementation of a Java alphanumeric sort.
This implementation uses a single comparison pass over the characters in a CharSequence, and returns as soon as a differing character is found, unless the difference occurs in a series of numeric characters, in which case that series is followed to its end. Numeric series of equal length are compared numerically, that is, according to the most significant (leftmost) differing digit. Series of unequal length are compared by their length.
This implementation appears to be 2-5 times faster than alphanumeric comparators based based on substring analysis, with a lighter memory footprint.
This alphanumeric comparator has approximately 20%-50% the performance of the lexical String.compareTo() operation. Character sequences without numeric data are compared more quickly.
Dedicated to the public domain by the original author: http://creativecommons.org/licenses/publicdomain/
Constructor Summary | |
---|---|
AlphaNumericComparator()
|
Method Summary | |
---|---|
int |
compare(String uri0,
String uri1)
Compares two strings. |
protected boolean |
isNotDigit(char x)
Indicates if the character is a digit. |
Methods inherited from class org.restlet.engine.util.AlphabeticalComparator |
---|
compare |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.util.Comparator |
---|
equals |
Constructor Detail |
---|
public AlphaNumericComparator()
Method Detail |
---|
public int compare(String uri0, String uri1)
AlphabeticalComparator
compare
in class AlphabeticalComparator
uri0
- The first string.uri1
- The second string.
Comparator
protected boolean isNotDigit(char x)
x
- The character to test.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |