深入理解Arrays.sort()

两种方法:

1、类本来就实现java.lang.Comparable接口,使类本身就有比较能力。接口实现compareTo方法,次方法接收另一个Object为参数,如果当前对象小于参数则返回负值,如果相等则返回零,如果当前对象大于参数则返回正值。

2、实现一个Comparator接口,然后应用于sort方法,详细见http://blog.csdn.net/wisgood/article/details/16541013

这里面涉及到策略设计模式。通过使用策略,可以将”会发生变化的代码“封装在单独的类中(策略对象),可以将策略对象传递给总是相同的代码,这些代码将使用策略来完成其算法。通过这种方式,能够用不同的对象来表示不同的比较方式,然后将它们传递给相同的排序代码。

原文地址:https://www.cnblogs.com/zihaowang/p/5013385.html