题解 | #集合排序#
集合排序
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;
}
}
}