标签:ide 结束 阅读 说明 cti 默认 blank string 数组排序
Java Comparator接口排序用法,详细介绍可以阅读这个链接的内容:https://www.cnblogs.com/shizhijie/p/7657049.html
对于 public int compare(Object arg0, Object arg1)的理解
1 //数组排序 2 String[] str = new String[5]; 3 Arrays.sort(str, new Comparator<String>() { 4 @Override 5 public int compare(String o1, String o2) { 6 // TODO Auto-generated method stub 7 return 0; 8 } 9 }); 10 //List集合排序 11 ArrayList<String> list = new ArrayList<String>(); 12 Collections.sort(list, new Comparator<String>() { 13 @Override 14 public int compare(String o1, String o2) { 15 // TODO Auto-generated method stub 16 return 0; 17 } 18 });
上述代码中重写了Comparator接口中的compare()方法,有两个参数自定义为 o1 和 o2,默认返回 0,可修改方法体中的内容,返回不同的参数值(整型)
如果返回 1 说明o1 > o2 如 2 1
如果返回 0 说明o1 = o2 如 cc cc
如果返回 -1 说明o1 < o2 如 6 7
也可以调用compareTo()方法在return时对参数进行比较:
1 String[] str = new String[5]; 2 Arrays.sort(str, new Comparator<String>() { 3 @Override 4 public int compare(String o1, String o2) { 5 // TODO Auto-generated method stub 6 return o1.compareTo(o2); 7 } 8 });
compareTo()方法返回值为 int 类型,比较两个值,如:o1.compareTo(o2)。返回1,0,-1同 compare() 方法的参数比较一样。
比较方法:
(1) 字符串与对象进行比较
(2) 按字典顺序比较两个字符串
比较过程:
先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至得到最终结果或者其中一个参数结束。
标签:ide 结束 阅读 说明 cti 默认 blank string 数组排序
原文地址:https://www.cnblogs.com/silence-x/p/11320148.html