/** * Gets a comparator that reverses the order of the given comparator. * * @param <E> the object type to compare * @param comparator the comparator to reverse * @return a comparator that reverses the order of the input comparator * @see ReverseComparator */ public static <E> Comparator<E> reversedComparator(final Comparator<E> comparator) { return new ReverseComparator<>(comparator); }
public static void printResult() { if (enableProfilingMode.get()) { System.err.printf("%s = %s%n", EVALUATE_LOOKUP_CHOICE_TIMER.name, EVALUATE_LOOKUP_CHOICE_TIMER.toString()); System.err.printf("%s = %s%n", EVALUATE_REQUIRES_TIMER.name, EVALUATE_REQUIRES_TIMER.toString()); System.err.println("Top 10 most expensive functions:"); SortedSet<ReentrantStopwatch> sorted = new TreeSet<>(new ReverseComparator<>()); synchronized (FUNCTION_PROFILING_TIMERS) { sorted.addAll(FUNCTION_PROFILING_TIMERS.values()); } Iterator<ReentrantStopwatch> iter = sorted.iterator(); for (int i = 0; i < 10 && iter.hasNext(); i++) { ReentrantStopwatch stopwatch = iter.next(); System.err.printf("%s = %s%n", stopwatch.name, stopwatch.toString()); } } }
private List<ServiceDetails> sortServiceDetails(final List<ServiceDetails> servicesDetails, final ServiceSortField field, final boolean ascending) { Comparator<ServiceDetails> comp = new BeanComparator<>(field.getFieldName()); if (!ascending) { comp = new ReverseComparator<>(comp); } if (comp != null) { Collections.sort(servicesDetails, comp); } return servicesDetails; }
listComparator = new ReverseComparator(listComparator);