Package com.groiss.ds

Class ListComparator

java.lang.Object
com.groiss.ds.ListComparator
All Implemented Interfaces:
Serializable, Comparator<List<Object>>

public class ListComparator extends Object implements Comparator<List<Object>>, Serializable
Compare two lists. This class is used for sorting tables, where each table row is a list.
See Also:
  • Constructor Details

    • ListComparator

      public ListComparator(int column, boolean ascending)
      Construct a list comparator with a sort column and a boolean for sort direction.
      Parameters:
      column - sort column
      ascending - true if sort ascending
    • ListComparator

      public ListComparator(int column, boolean ascending, int column2, boolean ascending2)
      Construct a list comparator with two sort columns and booleans for sort direction.
      Parameters:
      column - sort column
      ascending - true if sort ascending
      column2 - sort column2
      ascending2 - true if sort column2 ascending
    • ListComparator

      public ListComparator(int[] sortcols)
      Construct a list comparator with an array of sort columns. Positive integers are used for sorting ascending, negative for sorting descending. The column numbers start with 1.
      Example: the argument [-1,2] sorts first the colum with index zero descending, then the first column (index one in list) ascending.
      Parameters:
      sortcols - array of sort columns
  • Method Details

    • compare

      public int compare(List<Object> o1, List<Object> o2)
      Compare two lists.
      Specified by:
      compare in interface Comparator<List<Object>>
    • compareObjects

      public static int compareObjects(Object first, Object second)
    • compareNumbers

      public static int compareNumbers(Number n1, Number n2)
      Compares 2 Objects implementing Interface Number, even if they are different types