Class AlphaNumericComparator<T>

java.lang.Object
org.apache.jorphan.util.AlphaNumericComparator<T>
All Implemented Interfaces:
Comparator<T>

public class AlphaNumericComparator<T> extends Object implements Comparator<T>
Comparator for Objects, that compares based on their converted values. The objects will be converted to a String value using the given Function. That value will be compared in a human readable fashion by trying to parse numbers that appear in the keys as integers and compare those, too.

Heavily influenced by https://codereview.stackexchange.com/questions/37192/number-aware-string-sorting-with-comparator

  • Field Details

    • TO_STRING_COMPARATOR

      public static final Comparator<?> TO_STRING_COMPARATOR
  • Constructor Details

    • AlphaNumericComparator

      public AlphaNumericComparator(Function<? super T,String> converter)
      Constructs a comparator with a converter function
      Parameters:
      converter - that generates a String value from the arguments given to Comparator.compare(Object, Object)
  • Method Details