Class AlphaNumericComparator<T>

  • All Implemented Interfaces:

    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.
    Evren Sirin
    • Field Detail


        public static final AlphaNumericComparator<java.lang.Object> CASE_SENSITIVE
        Use caseSensitive() instead
        A static instantiation of a case sensitive AlphaNumericComparator

        public static final AlphaNumericComparator<java.lang.Object> CASE_INSENSITIVE
        Use caseInsensitive() instead
        A static instantiation of a case insensitive AlphaNumericComparator
    • Method Detail

      • compare

        public int compare​(T o1,
                           T o2)
        Specified by:
        compare in interface java.util.Comparator<T>