Сортировка коллекции. Интерфейс Comparator

158
12 января 2017, 04:47

Возникла необходимость избавиться от второго метода сравнения compareоднако после его удаления программа не компилируется. Подскажите в чем может быть загвоздка?

public class Car implements Comparator<ArrayList> {
    private int speed;
    public int getSpeed() {
        return speed;
    }
    public Car(int speed) {
        this.speed = speed;
    }
    public static void main(String[] args) {
        Random rand = new Random();
        ArrayList<ArrayList<Car>> listsOfCars = new ArrayList<>();
        for (int i = 0; i < 35; i++) {
            int a = rand.nextInt(50);
            ArrayList<Car> cars = new ArrayList<Car>();
            for (int j = 0; j < a; j++) {
                cars.add(new Car(a));
            }
            listsOfCars.add(cars);
        }
        Collections.sort(listsOfCars, SizeComparator);
        for (ArrayList<Car> cars : listsOfCars) {
            System.out.println(cars.size());
        }
    }
    public static Comparator<ArrayList> SizeComparator = new Comparator<ArrayList>() {
        @Override
        public int compare(ArrayList arrlist1, ArrayList arrlist2) {
            return arrlist1.size() - arrlist2.size();
        }
    };
    @Override
    public int compare(ArrayList arrlist1, ArrayList arrlist2) {
        return 0;
    }
}
Answer 1

В объявлении класса у вас указано, что он реализует интерфейс Comparator, но при этом, сам класс не реализует данный метод.

Чтобы код компилировался, нужно либо

  • Реализовать данный метод
  • Объявить класс абстрактным и оставить реализацию на откуп классам наследникам.
READ ALSO
Клиент-серверная архитектура Android [требует правки]

Клиент-серверная архитектура Android [требует правки]

Мне нужно построить клиент-серверную архитектуруКлиентом выступает Android приложение, однако в будущем планируется и создание web-страницы...

170
Анимация setVisibility GONE/VISIBLE

Анимация setVisibility GONE/VISIBLE

Как сделать, чтобы при скрытии нескольких View-элементов, находящихся рядом в LinearLayout было так:

202
Подскажите методы выведения на экран с помощью блока If [требует правки]

Подскажите методы выведения на экран с помощью блока If [требует правки]

Нужно сделать так, что если наступает определённое время, то на экране выводится, что принимает другой врачМожно ли написать как-то с помощью...

167
Условие IN в запросе к Dynamo DB

Условие IN в запросе к Dynamo DB

Здравствуйте, как сделать вместо Id = :first OR Id = :second условие с использование IN ?

198