Flavio05 29 de jan. de 2013
Para criar uma lista sem elementos duplicados você deve utilizar uma classe que implemente a interface Set , até onde sei estas são : HashSet , LinkedHashSet e TreeSet . Utilizando estas classes ela elimina , automaticamente , os elementos duplicados ( as cópias ).
E para ordená - los , em ordem alfabética , usa - se o método . sort ().
Sobre a interface Comparator , não posso falar nada , porque esta foi a primeira vez que eu ouvi falar nela ( sou novo em Java , tá ?!), desculpa por não ajudar : cry : : cry : : cry : : cry : .
ViniGodoy 29 de jan. de 2013
Sim, basta usar um TreeSet.
E passar o comparador no construtor:
SortedSet<Equipamento> setDeEquipamentos = new TreeSet<>(new CompararPorFabricante());
setDeEquipamentos.addAll(listaDeEquipamentos);
O resultado já estará ordenado e sem repetições. Não é necessário chamar o método sort, pois esse método nem existe nos sets, hehehe.
Flavio05, para aprender sobre o Comparator e o Comparable, leia o tópico:
Flavio05 29 de jan. de 2013
[quote=ViniGodoy]Sim, basta usar um TreeSet.
E passar o comparador no construtor:
SortedSet<Equipamento> setDeEquipamentos(new CompararPorFabricante());
setDeEquipamentos.addAll(listaDeEquipamentos);
O resultado já estará ordenado e sem repetições. Não é necessário chamar o método sort, pois esse método nem existe nos sets, hehehe.
Flavio05, para aprender sobre o Comparator e o Comparable, leia o tópico:
Excelente tópico , valeu !!!
yurisilvano 29 de jan. de 2013
[quote=ViniGodoy]Sim, basta usar um TreeSet.
E passar o comparador no construtor:
SortedSet<Equipamento> setDeEquipamentos(new CompararPorFabricante());
setDeEquipamentos.addAll(listaDeEquipamentos);
O resultado já estará ordenado e sem repetições. Não é necessário chamar o método sort, pois esse método nem existe nos sets, hehehe.
Flavio05, para aprender sobre o Comparator e o Comparable, leia o tópico:
Funcionou perfeitamente.
O codigo final segue a ideia abaixo.
SortedSet<Equipamento> listaDeEquipamentos = new TreeSet<Equipamento>(new ComparaPorFabricante());
listaDeEquipamentos .addAll(listaAux);
Muito obrigado.
ViniGodoy 29 de jan. de 2013
Pois é, vi que tinha um erro de sintaxe só agora. Acho que tava com a sintaxe do C++ na cabeça. Ou é sono mesmo.