Java Comparator和Comparable接口的compare方法

来源:互联网 发布:js修改sass变量 编辑:程序博客网 时间:2024/06/15 22:34
/** * Comparable接口的测试 */package testcomparable;/** * @author quyang.ybb * */public class User implements Comparable<User> {    private String name;    private Integer order;    public String getName() {return name;    }    public void setName(String name) {this.name = name;    }    public Integer getOrder() {return order;    }    public void setOrder(Integer order) {this.order = order;    }    @Override    public int compareTo(User arg0) {return this.getOrder().compareTo(arg0.getOrder());    }}

package testcomparable;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test {    public static void main(String[] args) {User user1 = new User();user1.setName("a");user1.setOrder(3);User user2 = new User();user2.setName("b");user2.setOrder(1);User user3 = new User();user3.setName("c");user3.setOrder(2);List<User> list = new ArrayList<User>();list.add(user1);list.add(user2);list.add(user3);Collections.sort(list);for (User u : list) {    System.out.println(u.getName());}    }}


package testcomparator;public class User {    private String name;    private Integer order;    public String getName() {return name;    }    public void setName(String name) {this.name = name;    }    public Integer getOrder() {return order;    }    public void setOrder(Integer order) {this.order = order;    }}


package testcomparator;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import testcomparable.User;public class Test {    public static void main(String[] args) {User user1 = new User();user1.setName("a");user1.setOrder(3);User user2 = new User();user2.setName("b");user2.setOrder(1);User user3 = new User();user3.setName("c");user3.setOrder(2);List<User> list = new ArrayList<User>();list.add(user1);list.add(user2);list.add(user3);Collections.sort(list, new Comparator<User>() {    @Override    public int compare(User o1, User o2) {return o1.getOrder().compareTo(o2.getOrder());    }});for (User u : list) {    System.out.println(u.getName());}    }}

0 0
原创粉丝点击