Preguntas etiquetadas con comparator

28
Ordenar ArrayList de objetos personalizados por propiedad
Leí acerca de cómo ordenar ArrayLists usando un comparador, pero en todos los ejemplos que la gente usa, compareToque según algunas investigaciones es un método para Strings. Quería ordenar una ArrayList de objetos personalizados por una de sus propiedades: un objeto Date ( getStartDay()). Normalmente los comparo, item1.getStartDate().before(item2.getStartDate())así que me …
1145 java  sorting  date  comparator 

11
"¡El método de comparación viola su contrato general!"
¿Puede alguien explicarme en términos simples, por qué este código arroja una excepción, "El método de comparación viola su contrato general!", Y ¿cómo lo soluciono? private int compareParents(Foo s1, Foo s2) { if (s1.getParent() == s2) return -1; if (s2.getParent() == s1) return 1; return 0; }
188 java  comparator 

14
Cómo usar Comparator en Java para ordenar
Aprendí a usar el comparable pero estoy teniendo dificultades con el Comparador. Tengo un error en mi código: Exception in thread "main" java.lang.ClassCastException: New.People cannot be cast to java.lang.Comparable at java.util.Arrays.mergeSort(Unknown Source) at java.util.Arrays.sort(Unknown Source) at java.util.Collections.sort(Unknown Source) at New.TestPeople.main(TestPeople.java:18) Aquí está mi código: import java.util.Comparator; public class People implements …
169 java  sorting  comparator 



19
Cuándo usar Comparable y Comparator
Tengo una lista de objetos que necesito ordenar en un campo, digamos Score. Sin pensarlo mucho, escribí una nueva clase que implementa Comparator, que hace la tarea y funciona. Ahora, mirando hacia atrás en esto, me pregunto si debería haber hecho que mi clase implemente Comparable en lugar de crear …

9
¿Cómo funciona sort () de Javascript?
¿Cómo ordena el siguiente código esta matriz para que esté en orden numérico? var array=[25, 8, 7, 41] array.sort(function(a,b){ return a - b }) Sé que si el resultado del cálculo es ... Menos de 0 : "a" se ordena para ser un índice más bajo que "b". Cero: "a" …

4
Muy confundido por la inferencia de tipo de Java 8 Comparator
He estado observando la diferencia entre Collections.sorty list.sort, específicamente con respecto al uso de Comparatormétodos estáticos y si se requieren tipos de parámetros en las expresiones lambda. Antes de comenzar, sé que podría usar referencias de métodos, por ejemplo, Song::getTitlepara superar mis problemas, pero mi consulta aquí no es tanto …

10
Error de Java: el método de comparación viola su contrato general
Vi muchas preguntas sobre esto e intenté resolver el problema, pero después de una hora de búsqueda en Google y muchas pruebas y errores, todavía no puedo solucionarlo. Espero que algunos de ustedes capten el problema. Esto es lo que obtengo: java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835) …

1
¿Por qué la eliminación de un TreeSet con un comparador personalizado no elimina un conjunto más grande de elementos?
Usando Java 8 y Java 11, considere lo siguiente TreeSetcon un String::compareToIgnoreCasecomparador: final Set<String> languages = new TreeSet<>(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] Cuando intento eliminar los elementos exactos presentes en el TreeSet, funciona: se eliminan todos los especificados: languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] Sin embargo, si …
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.