Arraylist de clasificación de Android por propiedades
Quiero ordenar una ArrayList
por una propiedad. Este es mi código …
public class FishDB{ public static Object Fish; public ArrayList<Fish> list = new ArrayList<Fish>(); public class Fish{ String name; int length; String LatinName; //etc. public Vis (String name) { this.name = name; } } public FishDB() { Fish fish; fish = new Fish("Shark"); fish.length = 200; fish.LatinName = "Carcharodon Carcharias"; fish = new Fish("Rainbow Trout"); fish.length = 80; fish.LatinName = "Oncorhynchus Mykiss"; //etc. } } }
Ahora quiero en querer ordenar este ArrayList
por una propiedad eg el latinname
en otra actividad. Pero no sé cómo hacer eso. ¿Alguien sabe cómo?
- Cómo ordenar varios ArrayLists todos juntos en java
- La columna MediaStore.MediaColumns.TITLE de MediaStore de Android es nula para algunos archivos
- ¿Cuál es la manera más eficiente de ordenar simultáneamente tres ArrayLists en Java
- La mejor manera de reordenar elementos en Android 4 + ListView
- Ordenar Java ArrayList con letras antes de números
- Droid: ¿Cómo reordenar un contenido linearlayouts programáticamente?
- Estado de la orden de compra de Android In App
- Cómo ordenar ArrayLists utilizando booleanos en java?
- Android Market, Razón de cancelación del pedido - Canceló este pedido
- Android - XML serialization - simpleframework - Ruta con Elementos opcionales (required = false) - ¿Cómo ocultar valores nulos?
- Java, ordene un ArrayList con entradas más largas al final
- Cómo ordenar por random () en ORMLite
- Determinar el tipo de datos de una columna en SQLite
Es necesario implementar un Comparator
, por ejemplo:
public class FishNameComparator implements Comparator<Fish> { public int compare(Fish left, Fish right) { return left.name.compareTo(right.name); } }
Y luego ordenarlo así:
Collections.sort(fishes, new FishNameComparator());
Simplemente puede hacerlo de la siguiente manera:
Collections.sort(list, new Comparator<Fish>() { public int compare(Fish o1, Fish o2) { return o1.name.compareTo(o2.name); } });