Método de ordenação

7 respostas
M

Estou precisando de um método para ordenar uma lista, alguem poderia me ajudar ??

7 Respostas

K

Que tipo de ordenação?!
Numérica?
Alfabética?
Que tipo de lista que vc esta usando?!
Seja um pouco mais especifico.

Se possivel coloque o código que vc já possui.

T

Collections.sort

B

Serve o Collections.sort()?

ChronoTrigger

Normalmente eu faço um inner class que implemente Comparator.

ex:

public static void main(String[] args) {
		List lista = new ArrayList();
		
		Integer i0 = new Integer(0);
		Integer i1 = new Integer(2);
		Integer i2 = new Integer(3);
		Integer i3 = new Integer(4);
		Integer i4 = new Integer(1);
		
		lista.add(i0);
		lista.add(i1);
		lista.add(i2);
		lista.add(i3);
		lista.add(i4);
		
		System.out.println("Iteracao antes");
		iterar(lista);
		Collections.sort(lista,new TesteSort().new SortTeste());
		System.out.println("Iteracao depois");
		iterar(lista);
	}
	
	private class SortTeste implements Comparator{

		public int compare(Object arg0, Object arg1) {
			
			Integer ob0 = (Integer)arg0;
			Integer ob1 = (Integer)arg1;
			
			return ob0.compareTo(ob1);			
		}
		
	}
	
	public static void iterar(List a){
		
		for (Iterator iter = a.iterator(); iter.hasNext();) {
			Integer element = (Integer) iter.next();
			
			System.out.println(element.intValue());			
		}
		
	}
ChronoTrigger

Isso funciona para Objetos complexos tbm, é só comparar o atributo que vc quer na inner class que implementa Comparator.

B

Não precisa de Comparator se o objeto já implementar a interface Comparable; a não ser quando você quiser um Comparator com uma comparação diferente daquela padrão dos objetos.

tecnocrata

olha ele nao indicou q tipo de ordenacao ele quer ne , ai fica dificil a gente responder pq sao mtas possibilidades , ele pode usar equals,a interface comparable ate hashcode …vamo deixar ele perguntar mais especificamente ;p

Criado 18 de junho de 2008
Ultima resposta 18 de jun. de 2008
Respostas 7
Participantes 6