Lo que necesita hacer es implementar un Comparator
personalizado. Y luego usar:
Collections.sort(yourList, new CustomComparator<YourClass>());
En concreto, se podría escribir: (Esto creará una clase anónima que implementa Comparator
.)
Collections.sort(yourList, new Comparator<YourClass>(){
public int compare(YourClass one, YourClass two) {
// compare using whichever properties of ListType you need
}
});
Se puede construir estos en su clase, si te gusta:
class YourClass {
static Comparator<YourClass> getAttribute1Comparator() {
return new Comparator<YourClass>() {
// compare using attribute 1
};
}
static Comparator<YourClass> getAttribute2Comparator() {
return new Comparator<YourClass>() {
// compare using attribute 2
};
}
}
podría ser utilizado de esta manera:
Collections.sort(yourList, YourClass.getAttribute2Comparator());
Si es posible usar palabras más explícitas en lugar de "cosa" y "camino", luego dar buenas respuestas será más fácil. Tal como están las cosas, debo admitir respetuosamente que me costó entender la pregunta exacta. –