Sort two object using Comparator
Answer: Below is sample java code where sorting has been done on Integer value using Comparator interface:
package com.javahonk; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class ComparatorTest { static Boolean ascending = false; public static void main(String[] args) { List<Integer> numberList = new ArrayList<Integer>(); numberList.add(1); numberList.add(4); numberList.add(3); numberList.add(5); numberList.add(2); System.out.println("Unsorted list: " + numberList); // Sort list in descending order Collections.sort(numberList, new SortingTest()); System.out.println("\nSorted list descending order: " + numberList); // Sort list in ascending order: SortingTest.ascending = true; Collections.sort(numberList, new SortingTest()); System.out.println("\nSorted list ascending order: " + numberList); } } class SortingTest implements Comparator<Integer> { public static boolean ascending; @Override public int compare(Integer o1, Integer o2) { if (ascending) { return o1.intValue() - o2.intValue(); } else { return o2.intValue() - o1.intValue(); } } }
Output: