1.比较2个数据的大小
比较大小
2.比较多个数据的大小
排序html
1.比较数值
8个基本数据类型,除了char和boolean,其余6个都是比较数值的大小。java
如何比较呢?一减就知道了,比较2个数值的算法就是作减法。算法
2.比较字符和字符串
1)字符char
字符是按字典顺序进行比较的。工具
具体代码实现是比较字符的unicode编码。字符的unicode编码就是按字典顺序进行编码的,小写字母abcd...排在前面,大写字母ABCD...排在后面。编码
比较2个字符的算法,就是比较字符的unicode编码。code
2)字符串String
和比较字符的大小同样,只不过比较字符串的算法,是先比较第一个字符的大小,而后依次比较后面字符的大小。htm
要对多个数据的大小进行比较,通常就是排序咯。
排序的算法有不少种,不过无论是哪种算法,相同点都是基于每两个数据、每两个数据比较的。blog
1.基本数据类型
6种数值类和char,都是用if和操做符(大于、小于、等于)来实现的。排序
2.类接口
1.6种数值类型的包装类 2.基本数据类型char的包装类Character 3.字符串类String 4.自定义类
以上4种不一样类型的类,都是经过实现比较接口Comparable来实现比较功能的。比较接口Comparable,只有一个比较方法compareTo,任何类想要实现比较的功能,必须实现比较接口的比较方法。
一、二、3里的类,都实现了比较接口的比较方法。
咱们本身写的类,若是想要实现比较的功能,也必须实现比较接口的比较方法。
3.排序
工具类Collections和Arrays的排序方法sort,采用的算法是合并排序,在排序的过程中进行两两比较时,就是利用每一个类的比较方法进行比较的。
在java里,提供了2种方法来比较类数据:
1.实现比较接口Comparable的比较方法
待比较的数据类,实现比较接口的比较方法。正如上面介绍的那样。
比较接口Comparable是可比较的意思,若是一个类实现了可比较接口,那么这个类就是可比较的。
对于全部有比较需求的类,都应该去实现这个接口。
2.实现比较器接口Comparator的比较方法
若是一个类有比较的需求,而且只按类的一个字段进行比较(好比,日期字段),那么能够实现比较接口Comparable。当前,也能够实现比较器接口,只不过多了个类而已。这2种方法没有任何区别。
若是一个类有比较的需求,而且可能须要按多个字段进行比较(好比,日期字段、名字字段、年龄字段等),这个时候,实现比较器接口比较好,具体来讲,就是新建一个自定义比较器类(好比,StudentSortByDate、StudentSortByName、StudentSortByAge等)实现比较器接口。
http://www.importnew.com/1743...
http://www.importnew.com/1721...
http://www.importnew.com/1070...
http://www.importnew.com/2264...
http://www.importnew.com/1925...
http://www.importnew.com/1764...
http://www.cnblogs.com/skywan...