Estoy tratando de clasificar una lista de matrices de objetos por un valor particular dentro del objeto. ¿Cuál sería el mejor enfoque para hacer tal cosa? ¿Debo usar Collections.sort () con algún tipo de comparador?
Estoy tratando de ordenar una lista de objetos por un valor flotante que contienen en una de las variables.
EDITAR: Esto es lo que tengo hasta ahora:
public class CustomComparator implements Comparator<Marker> {
@Override
public int compare(Mark o1, Mark o2) {
return o1.getDistance().compareTo(o2.getDistance());
}
}
el error dice: No se puede invocar compareTo (double) en el tipo primitivo double.
¿Es porque un comparador no puede devolver nada más que un tipo determinado?
java
android
sorting
collections
comparator
James andresakis
fuente
fuente
Respuestas:
Debe usar Comparable en lugar de Comparator si lo que busca es una clasificación predeterminada.
Vea aquí, esto puede ser de alguna ayuda - ¿ Cuándo debería una clase ser Comparable y / o Comparator?
Prueba esto -
fuente
Siga este código para ordenar cualquier ArrayList
fuente
Creo que esto te ayudará mejor
fuente
Ahora no es necesario boxear (es decir, no es necesario crear
OBJECT
usando el nuevo operador use valueOf insted con compareTo of Collections.Sort ..)1) Por orden ascendente
1) Por orden descendente
fuente
"Android-java" aquí no es diferente de "java normal", por lo que sí
Collections.sort()
sería un buen enfoque.fuente
Cómo utilizar:
fuente
Puedes comparar dos String usando esto.
Y ahora crea una clase ContactData.
Aquí la lista de contactos es:
fuente
O haga un
Comparator
que pueda comparar sus objetos, o si todos son instancias de la misma clase, puede hacer que esa clase se implementeComparable
. Luego puede usar Collections.sort () para hacer la clasificación real.fuente
compareTo()
método -es donde haces la comparación. Un poco de búsqueda en Google dio varios ejemplos detallados sobre cómo usarlo, aquí está uno de ellos: javadeveloper.co.in/java-example/java-comparable-example.htmlClase de modelo:
Ahora configure los datos en ArrayList
Ahora ordenar ArrayList
Resumen: Ordenará sus datos por fecha
fuente
Para Kotlin , puede utilizar esta función
y solo llámalo en tu
activity
ofragment
porfuente
Tengo una vista de lista que muestra la información sobre todos los clientes. Estoy ordenando el nombre de los clientes usando esta clase de comparación personalizada. Están teniendo algo de lectura adicional además de las letras en inglés que estoy manejando con este conjunto Fuerza (Collator.SECONDARY)
fuente
¡Es muy fácil para Kotlin!
listToBeSorted.sortBy { it.distance }
fuente