Metodo sort() e compareTo

Caros,
Quero ordenar uma list como faço???

Sei que as classes tem que ser compareveis, e tenho que implementar a interface Comparable. Crio uma classe nova para isso??

package br.com.alfabeto;

import java.util.Arrays;

public class Alfabeto {
	private String letraAlfa;

	public Alfabeto() {
	}

	public void setLetras(String l) {
		this.letraAlfa = l;
	}

	public String getLetras() {
		return this.letraAlfa;
	}

}
package br.com.alfabeto;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class TestaAlfabeto {
	public static void main(String[] args) {
		String letra[] = { "C", "E", "A", "B", "F", "D", "G", "I", "J" };
		List<Alfabeto> lista = new ArrayList<Alfabeto>();

		for (String lt : letra) {
			Alfabeto alf = new Alfabeto();
			alf.setLetras(lt);
			lista.add(alf);
		}

		for (int i = 0; i < lista.size(); i++) {
			Alfabeto ltr = lista.get(i);
			System.out.print(ltr.getLetras());
		}

	}

}

Olha neste caso eu creio que não… use Collections.sort(alista); e pronto…
se não me engano strings tem a ordem natural por ordem alfabetica

Não precisa criar uma outra classe, o seu objeto que for “comparável” deve implementar a interface Comparable.
Que vai te obrigar a criar o método compareTo(T o), onde vc coloca as comparações entre os 2 objetos, retornando negativo se for menor, 0 se igual ou positivo se maior.

Assim vc poderá usar o método estático: Collections.sort(List<?> list) para ordenar sua coleção destes objetos.

Mas você pode criar uma classe que implemente Comparable se vc quiser… :wink:

ou usar tb Arrays.sort(meu_array);

Valeu pessoal, vou tentar implementar.
Obrigado pela ajuda.