Perguntas com a marcação «comparator»

28
Classificar ArrayList de objetos personalizados por propriedade
Eu li sobre a classificação de ArrayLists usando um Comparador, mas em todos os exemplos que as pessoas usavam, compareToque de acordo com algumas pesquisas são um método para Strings. Eu queria classificar um ArrayList de objetos personalizados por uma de suas propriedades: um objeto Date ( getStartDay()). Normalmente eu …
1145 java  sorting  date  comparator 

11
"O método de comparação viola seu contrato geral!"
Alguém pode me explicar em termos simples, por que esse código gera uma exceção "O método de comparação viola seu contrato geral!" E como faço para corrigi-lo? private int compareParents(Foo s1, Foo s2) { if (s1.getParent() == s2) return -1; if (s2.getParent() == s1) return 1; return 0; }
187 java  comparator 

14
Como usar o Comparator em Java para classificar
Aprendi a usar o comparável, mas estou tendo dificuldades com o comparador. Estou com um erro no meu 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) Aqui está o meu código: import java.util.Comparator; public class …
169 java  sorting  comparator 



19
Quando usar comparável e comparador
Tenho uma lista de objetos que preciso classificar em um campo, digamos Pontuação. Sem pensar muito, escrevi uma nova classe que implementa Comparator, que faz a tarefa e funciona. Agora, olhando para trás, estou me perguntando se eu deveria ter feito minha classe implementar Comparable em vez de criar uma …

8
Como o sort () do Javascript funciona?
Como o código a seguir classifica essa matriz em ordem numérica? var array=[25, 8, 7, 41] array.sort(function(a,b){ return a - b }) Eu sei que se o resultado do cálculo for ... Menor que 0 : "a" é classificado para ter um índice menor que "b". Zero: "a" e "b" …

1
Por que a remoção de um TreeSet com um comparador personalizado não remove um conjunto maior de itens?
Usando Java 8 e Java 11, considere o seguinte TreeSetcom um 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] Quando tento remover os elementos exatos presentes no TreeSet, ele funciona: todos os especificados são removidos: languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] No entanto, se …
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.