Этот вопрос касается сортировки списков.Сортировка списка списков в определенном порядке
У меня есть универсальный метод, чтобы получить Транспорт
List<Vehicle> getRandomVehiclesList() {
return fetchVehicles();
//returns List <Car>, List<Bus>, etc
};
Транспортных средств могут быть автомобили, мотоциклы, автобусы, грузовики, внедорожники и т.д.
Car extends Vehicle
Bus extends Vehicle
Скажет, я хочу, чтобы позвонить в 5 раза getRandomVehiclesList (), а затем отсортируйте приведенные 5 списков в определенном порядке.
---------------------------------
СПИСОК должно быть в этом порядке
List<Car>
List<Truck>
List<SUV>
List<Bus>
List<Motorcycle>
---------------------------------
, но результаты могут быть возвращены в этот порядок или другой случайный порядок.
List<Bus>
List<Motorcycle>
List<Truck>
List<Car>
List<SUV>
Каков наилучший способ сортировки всех списков, чтобы они соответствуют порядку, показанному выше (автомобиль, грузовик, внедорожник, автобус, мотоцикл)
Может RxJava быть использован для упрощения?
Существует никакой разницы между ' Список 'и' List 'во время выполнения - они оба просто' List'. Единственный способ сделать это - выбрать элемент из списка, чтобы определить вероятный тип, и сортировать по этой причине. Конечно, это сложно, если ваш список пуст, или если у вас есть «Список », так как это может содержать как «Автомобиль», так и «Грузовик». –
Как вы можете гарантировать, что вызов метода *** getRandomVehiclesList *** вернет только автомобили или грузовики ??, они все те же самые интерфейсы Автомобиль –
Гарантируется возврат только автомобилей или грузовиков. Я думал, возможно, добавив их в список списков, таких как Multimap, и сортировать с новым компаратором, который скажет вам заказ на основе индекса. Как вы думаете? –