Dúvida - Ordem Alfabética (Tabela) [RESOLVIDO]

1- Eu tenho uma tabela, que lista as refeições (id, nome,valor,ingredientes,categoria).

[code]Statement stmt = connection.createStatement();

String sql2 = “Select * from refeições”;
ResultSet rs = stmt.executeQuery(sql2);

while(rs.next()) {
String[] dados = new String[5];
dados[0] = rs.getString("ID"); //id=nome da coluna
dados[1] = rs.getString("Nome");
dados[2] = rs.getString("Valor");
dados[3] = rs.getString("Ingredientes");
dados[4] = rs.getString("Categoria");

   modelo.addRow(dados); //adiciona uma nova linha na JTable;
}[/code]

Até aí da certo. Eu agora eu quero que fica na ordem alfabética, pelo nome das refeições (ex.: Abacate, Bolacha, Café, Pizza Calabreza, Pizza Frango)
Como que eu faço isso?

Eu tentei isso:

Arrays.sort(dados[1], Collator.getInstance());

só que da erro =/ E agora?

Você pode trazer sua consulta já ordenada pelo nome:

select * from refeições order by nome;

Fala Pedro!

Só uma dica… quando você estiver recuperando dados de um BD, se for possível, tente sempre trazê-los já ordenado, isso vai deixar a consulta mais eficiente e, portanto rápida… imagine se tivesse 99.998.856 registros nessa tabela (sempre é bom pensar em valores majorados), haveria o trabalho de recuperação dos dados do BD e a da ordenação… trazendo ordenado evitamos esse problema…

Então o que se faria seria trocar a query por:

 String sql2 = "Select * from refeições order by Nome";  

Só uma pergunta: a tabela chama-se “refeições” mesmo? Se for, sugiro que não coloque caracteres especiais em nomes de campos tabelas, variáveis, classes, etc… Só por convenção :wink:

Espero ter ajudado… Abraços!!!