Please find the code below:
Collections.sort(longList, new Comparator<Long>() {
public int compare(long m1, long m2) {
return (int) (m2 - m1);
}
For some input it throws the following error:
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeLo(TimSort.java:763)
at java.util.TimSort.mergeAt(TimSort.java:499)
at java.util.TimSort.mergeForceCollapse(TimSort.java:442)
at java.util.TimSort.sort(TimSort.java:239)
at java.util.TimSort.sort(TimSort.java:189)
at java.util.Arrays.sort(Arrays.java:867)
at java.util.Collections.sort(Collections.java:229)
Please help!
public int compare(Long m1, Long m2) {- MadProgrammerComparatorworks on Object Data TypeT, not Primitive Data Type. So,long->Long- Yahya