题解 | #集合排序#

集合排序

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

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
import java.util.Comparator;
import java.util.stream.Collectors;

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<Customer> customers = new ArrayList<>();
        customers.add(customer1);
        customers.add(customer2);
        customers.add(customer3);

        //write your code here......
        customers = customers.stream()
                .sorted(Comparator.comparingInt(Customer::getConsumption).reversed())
                .collect(Collectors.toList());

        System.out.println(customers);

    }
}

class Customer implements Comparable<Customer> {
    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......
    @Override
    public int compareTo(Customer customer) {
        return this.consumption -  customer.consumption;
    }

    public int getConsumption() {
        return consumption;
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务