Você tem que se decidir. Ou você ordena na busca, com as configurações do SGDB, ou ordena no braço.
Para ordenar no braço, vc terá que implementar um comparador, que usará o Collator na propriedade que quiser e ordenará a lista. Essa propriedade é a mesma string que vc exibe. Se fosse o toString, seria assim:
Collections.sort(resultados, new Comparator<Object>() {
public void compare(Object o1, Object o2) {
return Collector.compare(o1.toString(), o2.toString());
}
}
O meu exemplo foi apenas demonstrativo. Obviamente você pode altera-lo para considerar a propriedade que quiser, ou mesmo usar uma subclasse mais conveniente no lugar de object. E claro, ordenar no braço exige que você entenda e saiba como funcionam as collections do Java. Se você ainda não sabe, leia material sobre o assunto: http://java.sun.com/docs/books/tutorial/collections/index.html
Agora, o fato é que no final você exibe uma String, então, é possível comparar usando Collator. Nem que, caso o List não possa ser modificado, você crie um TreeMap do texto ordenado com o índice do seu objeto no list, e então use esse treemap como índice na hora de exibir os dados. Ou que vc copie tudo para um novo list e então ordene.
Bem, soluções existem, o caminho já demos. Agora basta um pouco de boa vontade e raciocínio lógico.