Articles of comparator

Invierta un comparador en Java 8

Tengo una ArrayList y quiero ordenarla en orden descendente. Yo uso para él el método java.util.stream.Stream.sorted(Comparator) . Aquí hay una descripción según Java API: Devuelve una secuencia que consta de los elementos de esta secuencia, ordenados según el Comparator proporcionado. estos métodos me devuelven un orden con orden ascendente. ¿Qué parámetro debería cambiar, solo para […]

PriorityQueue.toString orden de elemento incorrecto

Estoy tratando de hacer una cola de prioridad en Java con los nodos con la frecuencia más baja en prioridad. Sin embargo, mi comparador no funciona y la salida es muy extraña. Creo que necesito cambiar mi comparador, pero no estoy seguro de cómo cambiarlo. Aquí está mi código: public class HuffmanComparator implements Comparator { […]

Comparador Java TreeMap

Necesito un comparador para un TreeMap. ¿Debo escribir esto anónimamente en el constructor de mi TreeMap? ¿De qué otra forma podría escribir mi comparador? Actualmente, a Java no le gusta mi código (¿puedo hacerlo de forma anónima?): SortedMap myMap = new TreeMap(new Comparator<Entry>() { public int compare(Entry o1, Entry o2) { return o1.getValue().compareTo(o2.getValue()); } }); […]

Muy confundido por Java 8 comparator type inference

He estado observando la diferencia entre Collections.sort y list.sort , específicamente con respecto al uso de los métodos estáticos del Comparator y si se requieren tipos de param en las expresiones lambda. Antes de comenzar, sé que podría utilizar referencias de métodos, por ejemplo, Song::getTitle para superar mis problemas, pero mi consulta aquí no es […]

Error de Java: el método de comparación viola su contrato general

Vi muchas preguntas al respecto y traté de resolver el problema, pero después de una hora de búsqueda en Google y un montón de prueba y error, 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) at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453) […]