Javacompare⽅法和compareTo⽅法
Java Comparator接⼝排序⽤法,详细介绍可以阅读这个链接的内容:
对于 public int compare(Object arg0, Object arg1)的理解
1//数组排序
2 String[] str = new String[5];
3 Arrays.sort(str, new Comparator<String>() {
4    @Override
5public int compare(String o1, String o2) {
6// TODO Auto-generated method stub
7return 0;
8    }
9 });
10//List集合排序
11 ArrayList<String> list = new ArrayList<String>();
12 Collections.sort(list, new Comparator<String>() {
13    @Override
14public int compare(String o1, String o2) {
15// TODO Auto-generated method stub
16return 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
4public int compare(String o1, String o2) {
5// TODO Auto-generated method stub
6return o1pareTo(o2);
7    }
8 });
java arraylist用法compareTo()⽅法返回值为 int 类型,⽐较两个值,如:o1pareTo(o2)。返回1,0,-1同 compare() ⽅法的参数⽐较⼀样。
⽐较⽅法:
(1) 字符串与对象进⾏⽐较
(2) 按字典顺序⽐较两个字符串
⽐较过程:
先⽐较对应字符的⼤⼩(ASCII码顺序),如果第⼀个字符和参数的第⼀个字符不等,结束⽐较,返回他们之间的差值,如果第⼀个字符和参数的第⼀个字符相等,则以第⼆个字符和参数的第⼆个字符做⽐较,以此类推,直⾄得到最终结果或者其中⼀个参数结束。