应用场景
1.比较2个数据的大小
比较大小2.比较多个数据的大小排序比较2个数据的大小
1.比较数值
8个基本数据类型,除了char和boolean,其他6个都是比较数值的大小。如何比较呢?一减就知道了,比较2个数值的算法就是做减法。
2.比较字符和字符串
1)字符char字符是按字典顺序进行比较的。具体代码实现是比较字符的unicode编码。字符的unicode编码就是按字典顺序进行编码的,小写字母abcd...排在前面,大写字母ABCD...排在后面。
比较2个字符的算法,就是比较字符的unicode编码。
2)字符串String
和比较字符的大小一样,只不过比较字符串的算法,是先比较第一个字符的大小,然后依次比较后面字符的大小。比较多个数据的大小
要对多个数据的大小进行比较,一般就是排序咯。
排序的算法有很多种,不过不管是哪一种算法,相同点都是基于每两个数据、每两个数据比较的。java是如何比较数据的
1.基本数据类型
6种数值类和char,都是用if和操作符(大于、小于、等于)来实现的。2.类
1.6种数值类型的包装类 2.基本数据类型char的包装类Character 3.字符串类String 4.自定义类
以上4种不同类型的类,都是通过实现比较接口Comparable来实现比较功能的。比较接口Comparable,只有一个比较方法compareTo,任何类想要实现比较的功能,必须实现比较接口的比较方法。
1、2、3里的类,都实现了比较接口的比较方法。
我们自己写的类,如果想要实现比较的功能,也必须实现比较接口的比较方法。
3.排序
工具类Collections和Arrays的排序方法sort,采用的算法是合并排序,在排序的过程当中进行两两比较时,就是利用每个类的比较方法进行比较的。java比较类数据的另一种方法
在java里,提供了2种方法来比较类数据:
1.实现比较接口Comparable的比较方法待比较的数据类,实现比较接口的比较方法。正如上面介绍的那样。比较接口Comparable是可比较的意思,如果一个类实现了可比较接口,那么这个类就是可比较的。
对于所有有比较需求的类,都应该去实现这个接口。
2.实现比较器接口Comparator的比较方法如果一个类有比较的需求,并且只按类的一个字段进行比较(比如,日期字段),那么可以实现比较接口Comparable。当前,也可以实现比较器接口,只不过多了个类而已。这2种方法没有任何区别。如果一个类有比较的需求,并且可能需要按多个字段进行比较(比如,日期字段、名字字段、年龄字段等),这个时候,实现比较器接口比较好,具体来说,就是新建一个自定义比较器类(比如,StudentSortByDate、StudentSortByName、StudentSortByAge等)实现比较器接口。