这篇博文主要是本人对Comparator中的compareTo()方法进行了理解。
Comparator是一个接口,基于策略模式进行使用。
在不同的排序算法中,往往涉及到比大小,在代码中使用Comparator
时,一般通过重写compareTo()方法在条件判断处返回一个正数、负
数或0,通过返回值的正负来决定算法的下一步怎么进行
本程序是在学习左神算法时跟着敲的
题目:对一个字符串数组[“ac”,“ab”,“bf”,“bd”,“cf”],将其连接后,返回按字典序最小的字符串
练习程序
public class LowestLexicography {
//比较器,用来比较两个值的大小
//return 负数,第一个参数放在前面
//return 正数,第二个参数放在前面
//return 0,两个参数相等
public static class MyComparator implements Comparator<String> {
@Override
public int compare(String o1, String o2) {//哪一个字符串作为前缀更小,就排在前面
return (o1 + o2).compareTo(o2 + o1);
}
}
public static String lowestString(String[] strs) {
if (strs == null || strs.length =