说到这个接口得从剑指offer32题开始,我就想直观方法,全排列问题,虽然慢,其他方法再看。。以前就知道这个接口,这不刷题实在不行了,想起他了,进入正题,
可以发现他注解是函数式接口,那函数式编程加lamba表达式,就简单了,
其中这个方法int compare(T o1, T o2);根据官方介绍可知,
a negative integer, zero, or a positive integer as the
* first argument is less than, equal to, or greater than the
* second.
这就不用我翻译了吧都看到懂,看不懂cv 百度翻译,就是小于0–>第一个参数o1小于第二个参数o2、等于零 o1等于o2 大于0就是~~ ·不用说了(注意是值)
这就不得不提Comparable接口了,只有一个compareTo方法,返回值解释跟上面一模一样的···,你会发现好多类实现了他,如图BigDecimal,包装类Long,Boolean.Integer等等其他,也就是对这些类型可以强制排序
所以这个题理解为自底向上连接排列找最小,也就是每相邻两个排列去最小的 如:
package niuke;
import java.util.ArrayList;