List em Ordem alfabetica

Boa tarde galera, gostaria de saber como faço para listar os dados de uma dataTable em ordem alfabética?

a sua dataTable possui um List de que ? de String? de Pessoa?

Isso mesmo

Na verdade é uma lista de fornecedores, pois com ela quero fazer por ordem alfabética. Seria String

tudo bem, mas o que importa é como está a declaração.

Se for um List você pode simplesmente ordenar a lista, com o método estático Collections.sort() e tudo vai funcionar.

agora se for um List e esse funcionario tem um nome, e é esse nome que você quer usar como parâmetro de ordenação, a coisa muda um pouco.

O ideal (na minha opinião) seria essa classe funcionario implementar Comparable, e então usar o Collections.sort() da mesma maneira.

Possuo uma classe DAO generico que possui o seguinte método abaixo

public List listaTodos() {
EntityManager em = new JPAUtil().getEntityManager();
CriteriaQuery query = em.getCriteriaBuilder().createQuery(classe);
query.select(query.from(classe));

List lista = em.createQuery(query).getResultList();

em.close();
return lista;
}

O no meu bean do fornecedor tenho isso, e então eu usaria o nome do fornecedor como parametro para ordenar:

public List getFornecedores() {
if (fornecedores == null) {
fornecedores = new DAO(Fornecedor.class).listaTodos();
}
return fornecedores;
}

Posso implementar neste caso o comparable no bean?
e o Collections.sort() como ficaria? Você pode me dar um exemplo?

Você deve implementar em sua classe Fornecedor a interface Comparable. Implementando o método compareTo(), que ficaria mais ou menos assim:

public class Fornecedor implements Comparable<Fornecedor> {

private String nome;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int compareTo(Fornecedor o) {
        return getNome().compareToIgnoreCase(o.getNome());
    }
}

Após isso vc poderá usar o método Collections.sort para ordenar sua lista.
Assim:

Collections.sort(listaFornecedores);

Caso não queira implementar a interface comparable em sua entidade(ou simplesmente seja de terceiros), vc poderá usar a sobrecarga do método sort passando seu próprio comparator.

Espero ter ajudado.

Ok Thiago, agradeço. Mas de que forma eu usaria o Collections? no Bean? e o parametro que devo passar é de (fornecedores)?

Após ter implementado a interface na sua classe Fornecedores, ficaria assim o seu método.

public List<Fornecedor> getFornecedores() { 
  if (fornecedores == null) { 
    fornecedores = new DAO<Fornecedor>(Fornecedor.class).listaTodos(); 
  } 
return Collections.sort(fornecedores); 
}