Package com.complexible.common.util
Class AlphaNumericComparator<T>
- java.lang.Object
-
- com.complexible.common.util.AlphaNumericComparator<T>
-
- All Implemented Interfaces:
java.util.Comparator<T>
public class AlphaNumericComparator<T> extends java.lang.Object implements java.util.Comparator<T>
This is a comparator to perform a mix of alphabetical+numeric comparison. For example, if there is a list {"test10", "test2", "test150", "test25", "test1"} then what we generally expect from the ordering is the result {"test1", "test2", "test10", "test25", "test150"}. However, standard lexigraphic ordering does not do that and "test10" comes before "test2". This class is provided to overcome that problem. This functionality is useful to sort the benchmark files (like the ones in in DL-benchmark-suite) from smallest to the largest. Comparisons are done on the String values returned by toString() so care should be taken when this comparator is used to sort arbitrary Java objects.- Author:
- Evren Sirin
-
-
Field Summary
Fields Modifier and Type Field Description static AlphaNumericComparator<java.lang.Object>
CASE_INSENSITIVE
Deprecated.UsecaseInsensitive()
insteadstatic AlphaNumericComparator<java.lang.Object>
CASE_SENSITIVE
Deprecated.UsecaseSensitive()
instead
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> AlphaNumericComparator<T>
caseInsensitive()
static <T> AlphaNumericComparator<T>
caseSensitive()
int
compare(T o1, T o2)
static <T> AlphaNumericComparator<T>
getInstance(boolean caseSensitive)
-
-
-
Field Detail
-
CASE_SENSITIVE
@Deprecated public static final AlphaNumericComparator<java.lang.Object> CASE_SENSITIVE
Deprecated.UsecaseSensitive()
insteadA static instantiation of a case sensitive AlphaNumericComparator
-
CASE_INSENSITIVE
@Deprecated public static final AlphaNumericComparator<java.lang.Object> CASE_INSENSITIVE
Deprecated.UsecaseInsensitive()
insteadA static instantiation of a case insensitive AlphaNumericComparator
-
-
Method Detail
-
caseSensitive
public static <T> AlphaNumericComparator<T> caseSensitive()
-
caseInsensitive
public static <T> AlphaNumericComparator<T> caseInsensitive()
-
getInstance
public static <T> AlphaNumericComparator<T> getInstance(boolean caseSensitive)
-
-