Colocar em ordem alfabetica ArrayList

Boa tarde, estou querendo saber como faço para colocar em ordem alfabetica uma Arraylist.

os codigos seguem nesse link:
http://www.guj.com.br/java/284928-arraylist–classe-abstrata–heranca-duvida-cruel#1505769

e estou fazendo esse metodo para colocar em ordem alfabetica:

[code]public static ArrayList imprimiTodosForne() throws Exception{
ArrayList listaFornecedorOrdemAlfa = new ArrayList<>();
for(Pessoa pessoaCad : listaPessoas){
if(pessoaCad instanceof Fornecedor){
Fornecedor fornecedorCad = (Fornecedor) pessoaCad;
listaFornecedorOrdemAlfa.add(fornecedorCad);
}
}
if(listaFornecedorOrdemAlfa.isEmpty()){
throw new Exception(“Vendedor não existe.”);
}else{
return listaFornecedorOrdemAlfa;
}

}[/code]

Como uso o Collection.sort(lista)?

[code]public Class Pessoa implements Comparator{
public int compare(Pessoa p1, Pessoa p2) {
return this.getName.compareTo(p2.getName());
}
}

Collections.sort(listaFornecedorOrdemAlfa, new Comparator() {
public int compare(Pessoa pes1, Pessoa pes2) {
return pos1.getName().compareTo(pes2.getName());
}
});
[/code]
Essa é a ideia mano… Acho que ai já da uma luz. Qualquer coisa levanta as maões ai.

Collections.sort(list); 

Boa tarde,

para ordena usando Collection.sort(lista) sua classe pessoa tem que implementar a interface Comparable, implementar o metodo compareTo

pra saber mais http://www.caelum.com.br/download/caelum-java-objetos-fj11.pdf e consulte o capitulo “Collections framework”

Boa Tarde…

[code]public class ContaCorrente extends Conta
implements Comparable {

// … todo o código anterior fica aqui

public int compareTo(ContaCorrente outra) {
if (this.saldo < outra.saldo) {
return -1;
}

if (this.saldo > outra.saldo) {
  return 1;
}

return 0;

}
}[/code]

no exemplo acima ele comparou com o saldo…mas poder ser qualquer coisa…

assim a classe se torna Comparavel…

falow

[code]package dados;

import java.io.Serializable;
import java.util.Collection;
import java.util.GregorianCalendar;

public abstract class Pessoa implements Comparable, Serializable{

public static final int CLIENTE = 1;
public static final int VENDEDOR = 2;
public static final int FORNECEDOR = 3;

private int codigo;
private String nome;
private String telefone;
private String email;
private GregorianCalendar dataCad;

public Pessoa(int codigo, String nome, String telefone, String email,
		GregorianCalendar dataCad) {
	super();
	this.codigo = codigo;
	this.nome = nome;
	this.telefone = telefone;
	this.email = email;
	this.dataCad = dataCad;
}
public abstract int getTipo();

public int compareTO(Pessoa o){
	return nome.compareTo(o.nome);
} 

@Override
public String toString() {
	return  "Codigo: " + codigo + "\n" + 
			"Nome: " + nome + "\n" +
			"Telefone: " + telefone + "\n" + 
			"E-mail: " + email + "\n" +
			"Data de Cadastro: " + dataCad;
}

}
[/code]
Certo, o metodo ta ali na classe pessoa.
mas eu estou querendo ordena um lista fornecedor que e filha dessa classe:

[code]public static ArrayList imprimiTodosForne() throws Exception{
ArrayList listaFornecedorOrdemAlfa = new ArrayList<>();
for(Pessoa pessoaCad : listaPessoas){
if(pessoaCad instanceof Fornecedor){
Fornecedor fornecedorCad = (Fornecedor) pessoaCad;
listaFornecedorOrdemAlfa.add(fornecedorCad); //<-- Onde a lista a ser ordenada recebe as “Pessoas” que São Fornecedores
}
}
if(listaFornecedorOrdemAlfa.isEmpty()){
throw new Exception(“Vendedor não existe.”);
}else{
return listaFornecedorOrdemAlfa;

	}
	
	
}[/code]

onde iria inserir o Collections.sort, e quando digito Collections. e do tecla de atalho, nao aparece nada! =/

implementa o Comparable na classe Fornecedor uai… Only this.