作用:在一个方法中,流程是确定的,但是某些关键步骤的算法依赖调用方传入的策略。这样,传入不同的策略,即可获得不同的结果,大大增强了系统的灵活性
二、实现最经典的就是Arrays.sort()函数了
public staticvoid sort(T[] a, Comparator super T> c)
public class Main {
public static void main(String[] args) throws NoSuchAlgorithmException {
String[] array = { "apple", "Pear", "Banana", "orange" };
Arrays.sort(array, (s1, s2) -> -s1.compareTo(s2));
System.out.println(Arrays.toString(array));
}
}
这里通过传入一个Comparator实现了一个降序排序,也可以传入其他的Comparator实现不同的比较规则



