zoukankan      html  css  js  c++  java
  • 集合的比较器

    这个是现学现用的。


    public class Student {
    private String name;

    private int age;

    public Student(int age) {
    this.age = age;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public int getAge() {
    return age;
    }

    public void setAge(int age) {
    this.age = age;
    }

    @Override
    public boolean equals(Object obj) {
    if(obj instanceof Student){
    obj = (Student) obj;
    return ((Student) obj).getName().equals(getName())? true:false;
    }
    return false;

    }


    }

    //这个很重要  这个就是排序的比较器  在这里是根据学生的年龄来排序的

    import java.util.Comparator;

    /**
    * 比较器
    * @author DELL
    *
    */
    public class StudentCompartor implements Comparator<Student>{


    @Override
    public int compare(Student o1, Student o2) {
    // TODO Auto-generated method stub
    if(o1.getAge()>o2.getAge()){ //升序
    return 1;
    }
    return -1;
    }

    }

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Iterator;
    import java.util.List;

    public class CollectionCompareDemo {
    public static void main(String[] args) {
    List<Student> list = new ArrayList<Student>();
    list.add(new Student(20));
    list.add(new Student(30));
    list.add(new Student(10));
    list.add(new Student(40));

    Collections.sort(list, new StudentCompartor());  //排序 传入要排序的集合和比较器
    Iterator<Student> iterator = list.iterator();
    while(iterator.hasNext()){
    System.out.println(iterator.next().getAge());
    }
    }
    }

    输出的结果是:

    10
    20
    30
    40

  • 相关阅读:
    rabbitmq 安装和配置
    rabbitmq
    Redis Keys 命令
    python pickle模块
    Redis之Python操作
    flask中的g、add_url_rule、send_from_directory、static_url_path、static_folder的用法
    Python 并行分布式框架 Celery
    Celery+python+redis异步执行定时任务
    feed流拉取,读扩散,究竟是啥?
    DNS解析
  • 原文地址:https://www.cnblogs.com/hjy9420/p/4135609.html
Copyright © 2011-2022 走看看