码迷,mamicode.com
首页 > 编程语言 > 详细

Java compare方法和compareTo方法

时间:2019-08-08 11:40:48      阅读:179      评论:0      收藏:0      [点我收藏+]

标签: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()方法,有两个参数自定义为 o1o2,默认返回 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码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至得到最终结果或者其中一个参数结束。

 

Java compare方法和compareTo方法

标签:ide   结束   阅读   说明   cti   默认   blank   string   数组排序   

原文地址:https://www.cnblogs.com/silence-x/p/11320148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!