package com.j2se.demo;
import java.util.Arrays;
/**
* java.lang.comparable 此接口强行对实现它的每个类的对象进行整体排序。
* 这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。
* Arrays.sort(Object[])根据元素的自然顺序对指定对象数组按升序进行排序。
* 数组中的所有元素都必须实现 Comparable 接口。
* @author edwin
*
*/
public class ComparableUser implements Comparable {
private String id;
private int age;
public ComparableUser(String id, int age){
this.id = id;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(Object o) {
return this.age - ((ComparableUser)o).getAge();
}
public static void main(String[] args){
ComparableUser[] users = new ComparableUser[]{
new ComparableUser("id_1",23),
new ComparableUser("id_2",20),
new ComparableUser("id_3",25),
new ComparableUser("id_4",19)
};
Arrays.sort(users);
for(ComparableUser user : users){
System.out.println("id="+user.getId()+" age="+user.getAge());
}
}
}
package com.j2se.demo;
public class User {
private String id;
private int age;
public User(String id, int age){
this.id = id;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.j2se.demo;
import java.util.Arrays;
import java.util.Comparator;
/**
* java.util.Comparator强行对某个对象 collection 进行整体排序 的比较函数。
* Arrays.sort(Object[]a,Comparator c)根据指定比较器产生的顺序
* 对指定对象数组进行排序。 数组中的所有元素都必须是通过指定比较器可相互比较的
* @author edwin
*
*/
public class ComparatorUser implements Comparator {
@Override
public int compare(Object o1, Object o2) {
return ((User) o1).getAge() - ((User) o2).getAge();
}
public static void main(String[] args){
User[] users = new User[]{
new User("id_1",38),
new User("id_2",29),
new User("id_3",39),
new User("id_4",20)
};
Arrays.sort(users, new ComparatorUser());
for(User user : users){
System.out.println("id="+user.getId()+" age="+user.getAge());
}
}
}
分享到:
相关推荐
Java中Comparable和Comparator的区别共3页.pdf.zip
本文,先介绍Comparable 和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明
java中Comparable和Comparator的区别 简介 java.lang.Comparable和java.util.Comparator是两个容易混淆的接口,两者都带有比较的意思,那么两个接口到底有什么区别,分别在什么情况下使用呢? Comparable Comparable...
主要介绍了详解Java中Comparable和Comparator接口的区别的相关资料,希望通过本文大家能彻底掌握这部分内容,需要的朋友可以参考下
主要介绍了Java Comparable和Comparator对比详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
用Comparator 的好处是不需要修改源代码, 而是另外实现一个比较器, 当某个自定义的对象需要作比较的时候,把比较器和对象一起传递过去就可以比大小了, 并
Comparable&Comparator区别,看完就明白了
NULL 博文链接:https://gghaomm.iteye.com/blog/1753970
通过简单的例子初步了解Comparable和Comparator的使用,注释很详细
主要介绍了Java Comparable 和 Comparator 的详解及区别的相关资料,Comparable 自然排序和Comparator 定制排序的实例,需要的朋友可以参考下
主要针对Java中Comparable和Comparator对象进行比较,感兴趣的小伙伴们可以参考一下
详细的介绍了Java中Comparable与Comparator的区别
Comparable与Comparator的区别Java开发Java经验技巧共3页.pdf.zip
java排序Comparator和Comparable
主要介绍了java 中Comparable与Comparator详解与比较的相关资料,需要的朋友可以参考下
Comparable和Comparator接口都可用作普通意义上对象间的比大小,但两个接口在实例化方面的用法不尽相同,接下来我们就来详细对比Java中的Comparable排序接口和Comparator比较器接口
要注意的是List,Set,Queue继承了Collection接口,...这里想用一个简单的例子展示一下他们的使用,内容包括:List、Map、Set、Queue,Collections、Comparable与Comparator,排序、搜索,内部类,泛型、重写equals、hashCode
comparator接口与Comparable接口的区别
Java-中的-Comparator-和-Comparable.md