CustomComparator.java
CustomComparatorDemo.java
运行结果:
Using Default Sort
gaining
mainly
painful
raindrops
Using Custom Comparator
raindrops
painful
gaining
mainly
package corejava8.structure;
import java.util.Comparator;
public class CustomComparator implements Comparator<String> {
@Override
public int compare(String s1, String s2) {
s1 = s1.substring(1);
s2 = s2.substring(1);
return s1.compareTo(s2);
// or, more concisely:
// return s1.substring(1).compareTo(s2.substring(1));
}
}
CustomComparatorDemo.java
package corejava8.structure;
import java.util.Arrays;
public class CustomComparatorDemo {
public static void main(String[] unused) {
String[] strings = { "painful", "mainly", "gaining", "raindrops" };
Arrays.sort(strings);
dump(strings, "Using Default Sort");
Arrays.sort(strings, new CustomComparator());
dump(strings, "Using Custom Comparator");
}
static void dump(String[] args, String title) {
System.out.println(title);
for (String s : args)
System.out.println(s);
}
}
运行结果:
Using Default Sort
gaining
mainly
painful
raindrops
Using Custom Comparator
raindrops
painful
gaining
mainly