Bei dieser Frage geht es um das Sortieren von Listen.Sortieren einer Liste von Listen in einer bestimmten Reihenfolge
Ich habe eine generische Methode Fahrzeuge
List<Vehicle> getRandomVehiclesList() {
return fetchVehicles();
//returns List <Car>, List<Bus>, etc
};
Fahrzeuge können zu bekommen sein Auto, Motorrad, Bus, LKW, SUV, usw.
Car extends Vehicle
Bus extends Vehicle
sagen, dass ich 5 mal getRandomVehiclesList nennen wollen () und sortieren Sie dann die resultierenden 5 Listen in einer bestimmten Reihenfolge.
---------------------------------
Diese Liste muss in dieser Reihenfolge WERDEN
List<Car>
List<Truck>
List<SUV>
List<Bus>
List<Motorcycle>
---------------------------------
aber die Ergebnisse können in zurückgegeben werden diese Reihenfolge oder andere zufällige Reihenfolge.
List<Bus>
List<Motorcycle>
List<Truck>
List<Car>
List<SUV>
Was ist der beste Weg, um alle Listen zu sortieren, so dass sie oben dargestellt, um die Reihenfolge übereinstimmen (Auto, LKW, Geländewagen, Bus, Motorrad)
Kann RxJava verwendet werden, zu vereinfachen?
Es gibt keinen Unterschied zwischen ' Liste 'und' List 'zur Laufzeit - sie sind beide nur' List's. Die einzige Möglichkeit besteht darin, ein Element aus der Liste auszuwählen, um den wahrscheinlichen Typ zu bestimmen und auf dieser Grundlage zu sortieren. Natürlich ist das schwierig, wenn Ihre Liste leer ist, oder wenn Sie eine "Liste " haben, da diese sowohl ein "Auto" als auch einen "Truck" enthalten könnte. –
Wie können Sie garantieren, dass das Aufrufen der Methode *** getRandomVehiclesList *** nur Autos oder Trucks zurückgibt? Sie sind alle die gleiche Schnittstelle Fahrzeug –
Es ist garantiert, nur Autos oder Lastwagen zurückgeben. Ich überlegte, ob ich sie vielleicht in eine Liste von Listen wie eine Multimap einfügen und mit einem neuen Vergleicher sortieren könnte, der Ihnen die Reihenfolge auf der Basis eines Indexes verrät. Was denken Sie? –