题解 | #集合排序#

集合排序

http://www.nowcoder.com/practice/4d12899bb255459bbf2b3635b3d32817

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

public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Customer customer1 = new Customer("小明",scanner.nextInt()); Customer customer2 = new Customer("小军",scanner.nextInt()); Customer customer3 = new Customer("小红",scanner.nextInt()); List customers = new ArrayList<>(); customers.add(customer1); customers.add(customer2); customers.add(customer3);

    //write your code here......
    //自然排序,实现集合排序。
    //使用集合工具类的sort()排序方法,对集合元素按照指定属性值进行从小到大排序
    Collections.sort(customers);

    System.out.println(customers);

}

}

class Customer implements Comparable{ private String name; private int consumption;

public Customer(String name, int consumption) {
    this.name = name;
    this.consumption = consumption;
}

@Override
public String toString() {
    return "Customer{" +
            "name='" + name + '\'' +
            ", consumption=" + consumption +
            '}';
}

//write your code here......
//重写Comparable接口的compareTo(Object obj)方法
//反序从大到小排列只需要将返回的结果改为相反值就可以
public int compareTo(Customer customer){

    if(this.consumption < customer.consumption){
        return 1;
    }else if(this.consumption > customer.consumption){
        return -1;
    }else{
        return 0;
    }
   
}

}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务