pogo, У вас на java есть возможность:
1. Создать список строк
2. Отсортировать его
3. Использовать отсортированный по назначению
К примеру на С++ это делается так:
Код:
![Выделить весь код](images/misc/selectcode.png)
...
TStringList *lst = new TStringList; // Создаём динамически список строк
String FileName = "C:\\List.txt"; // Указываем путь к текстовому файлу: одна строка - одна фамилия
lst->LoadFromFile(FileName); // Грузим файл в список
lst->Sort(); // Сортируем...
// Всё, список lst отсортирован
...