Boa noite ,
Pessoal, criei uma pequena aplicação que adiciona produtos a um arquivo txt, e um método listarProdutos(Comparator c) para ordenar os produtos através de um dos seguintes critérios, ID, Descrição ou Preço utilizando o conjunto TreeSet para o mesmo, porém o TreeSet remove elementos repetidos, aí fiz uma pequena modificação para não remover, mas queria saber se a melhor maneira de ordenar são através dos conjuntos ou existe outra maneira mais eficiente?
Segue o código de como está agora, se os preços forem iguais irá comparar o id e retornar um número maior, lembrando que está funcionando como eu gostaria;
public class PrecoComparator implements Comparator<Produto> {
public int compare(Produto o1, Produto o2) {
if (o1.getPreco() == o2.getPreco()) {
if(o1.getId() > o2.getId()) {
return 1;
}
}
if (o1.getPreco() > o2.getPreco()) {
return 1;
}
return -1;
}
}
Obrigado!!!