策略模式的作用:定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的改变不会影响使用算法的客户。
java.util.Comparator 接口定义元素之间的比较方法,如,有 compare 方法
public interface Comparator<T> {
int compare(T o1, T o2);
}
Arrays 工具类,指定 Comparator 进行排序
public class Arrays {
public static void sort(int[] a) {
DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0);
}
}
java.util.List,指定 Comparator 进行排序
public interface List<E> extends Collection<E> {
@SuppressWarnings({"unchecked", "rawtypes"})
default void sort(Comparator<? super E> c) {
Object[] a = this.toArray();
Arrays.sort(a, (Comparator) c);
ListIterator<E> i = this.listIterator();
for (Object e : a) {
i.next();
i.set((E) e);
}
}
}
TreeMap 构造方法指定 Comparator,put 元素时,进行比较、排序
ConstXiong 备案号:苏ICP备16009629号-3