public class ArrayTest {
public static void main(String[] args){
List<Students> list = new ArrayList<Students>();
list.add(new Students(3,"langhua"));
list.add(new Students(2,"xia"));
list.add(new Students(2,"array"));
list.add(new Students(1,"ffein"));
Collections.sort(list, new Students.MyComparator());
//这是反序排序Collections.sort(list, Collections.reverseOrder());
//Array.sort(Object[] o,Comparator c);针对对象数组也可以排序
System.out.println(list);
}
}
class Students implements Comparable{
int num;
String name;
static class MyComparator implements Comparator{
public int compare(Object o1, Object o2) {
Students s1 = (Students) o1;
Students s2 = (Students) o2;
int result = s1.num > s2.num ? 1 : (s1.num == s2.num ? 0 : -1);
if(result==0){
return s1.name.compareTo(s2.name);
}
return result;
}
}
public Students(int num,String name){
this.num = num;
this.name = name;
}
public String toString(){
return num+":"+name;
}
public int compareTo(Object o) {
Students s = (Students) o;
int result = num>s.num ? 1:(num==s.num ? 0:-1);
if(result == 0){
result = name.compareTo(s.name);
return result;
}
return result;
}
}
//对comparator理解还不是很深刻
//Collections.min(Collection<? extends T> coll)
//Collections.binarySearch(List<? extends Comparable<? super T>> list, T key)等方法
分享到:
相关推荐
Comparable&Comparator区别,看完就明白了
详细的介绍了Java中Comparable与Comparator的区别
Java中Comparable和Comparator的区别共3页.pdf.zip
NULL 博文链接:https://hellogava.iteye.com/blog/1570101
本文,先介绍Comparable 和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明
comparator接口与Comparable接口的区别
java排序Comparator和Comparable
Comparable与Comparator的区别Java开发Java经验技巧共3页.pdf.zip
通过简单的例子初步了解Comparable和Comparator的使用,注释很详细
主要介绍了详解Java中Comparable和Comparator接口的区别的相关资料,希望通过本文大家能彻底掌握这部分内容,需要的朋友可以参考下
Java-中的-Comparator-和-Comparable.md
教你学会Comparator和Comparable
java的Comparator和Comparable
主要介绍了Java Comparable和Comparator对比详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
用Comparator 的好处是不需要修改源代码, 而是另外实现一个比较器, 当某个自定义的对象需要作比较的时候,把比较器和对象一起传递过去就可以比大小了, 并
主要介绍了java 中Comparable与Comparator详解与比较的相关资料,需要的朋友可以参考下
NULL 博文链接:https://gghaomm.iteye.com/blog/1753970
Comparable和Comparator接口都可用作普通意义上对象间的比大小,但两个接口在实例化方面的用法不尽相同,接下来我们就来详细对比Java中的Comparable排序接口和Comparator比较器接口
主要介绍了Java Comparable 和 Comparator 的详解及区别的相关资料,Comparable 自然排序和Comparator 定制排序的实例,需要的朋友可以参考下