Ordenação de lista por valor específico

0 respostas
J

Bom dia :slight_smile:

É o seguinte, tenho por exemplo uma lista de carros, onde cada carro tem suas características e uma delas seria a marca.

Eu queria apresentar essa lista ordenando de uma forma que no inicio fique uma marca específica.

O problema é que quando comecei a implementar os Compares percebi que não podia ser feito desse jeito, pois se eu ordenar pelo nome da marca vai ficar em ordem alfabética, e não a marca que eu quero primeiro.

Eu consegui uma solução porca ± assim:

List<Carro> carrosEscolhidos = new ArrayList<Carro>();
	List<Carro> carrosNaoEscolhidos = new ArrayList<Carro>();
	for (Carro carro : carros) {
		if (carro.getMarca().equals(marcaEscolhida)) {
			carrosEscolhidos.add(carro);
		} else {
			carrosNaoEscolhidos.add(carro);
		}
	}
	carros = new ArrayList<Carro>();
	carros.add(carrosEscolhidos);
	carros.add(carrosNaoEscolhidos);

Queria saber se tem um jeito certo ou pelo menos melhor/elegante de fazer isso.

Grato.

Criado 26 de junho de 2014
Respostas 0
Participantes 1