JAVA中的比较器返回值所规定的排序方式
2017-07-21 21:13
204 查看
学过JAVA的人都知道JAVA中有两种常见的比较器, comparable和comparator。而比较器的用途一般是用来定义排序的规则, 这里我就comparable中的compareTo()方法中3个返回值所规定的排序顺序。排序顺序相同, 这里只对comparable中的compareTo()方法进行举例)。
class A implements comparable<A>{ @override int num1; int num2; public int compareTo(A a){ if(this.num1>a.num1) return 1;//从小到大升序 else if(this.num1<a.num1) return -1; return 0; }
如上面的代码所示,按照num1的大小进行排序(如需根据num2排序只需将对应的位置改成num2即可)。
其实主要还是根据return 1的那条if语句来判断,如果是”<”则是从大到小,如果是”>”则是从小到大,即与实际看上去的相反。
但前提是this要在前面,形參在后面
如果是comparator中的compare(obj1,obj2),则是obj1在前,obj2在后。
相关文章推荐
- 分享一个很实用的java代码,可以将以逗号分隔的数字以从大到小的方式排序后返回
- Java中的排序比较方式:自然排序和比较器排序
- Java中的排序比较方式:自然排序和比较器排序
- Java中的排序比较方式:自然排序和比较器排序
- java集合进行排序的两种方式
- 关于JAVA的四种排序方式
- Java_浅谈集合中自定义元素排序方式
- JNI之c/c++返回中文给java 乱码问题以及java数组在c排序
- [Java]HashMap的两种排序方式
- 黑马程序员--学习笔记-- Java中常见的数组排序方式(一)
- java比较器的二种实现方式的区别
- Java比较器对数组,集合排序二
- Java集合和数组的排序方式总结
- Java基础之一组有用的类——使用比较器对数组排序(TrySortingWithComparator)
- TreeSet的第二种排序方式:比较器
- 回复:String中如果有中文,如何保证length()返回的长度 在 Java 中字符串是以 Unicode 方式编码的,所以,无论中英文都算的长度为 1。根据你的描述,估计是想要取得英文长度为 1 中文长度为 2 的总长度吧。这个,理论上可以构造 An
- Java常见几种排序方式
- java实现按中文首字母排序的方式
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
- 通过HTTP方式获取URL返回结果数据(Java)