Вы должны простить меня, если я сделаю некоторые неверные предположения, так как я не говорю по-литовски ??поэтому ваши переменные и имена методов затрудняют мне понимание вашего кода.
Похоже, у вас есть собственная структура связанного списка записей «Персона».Есть несколько способов сортировки записей по фамилии.Одним из способов было бы написать метод сортировки связанного списка путем ручного перемещения узлов и разрыва / воссоздания ссылок между вашими узлами.
Другой способ - выгрузить ваш список в стандартный список и отсортировать список, используяCollections.sort()
и соответствующий класс Comparator
.
class Sarasas {
...
private List<Asmuo> sortList() {
// dump your list into an ArrayList
List<Asmuo> data = new ArrayList<Asmuo>();
Irasas node = p; // start with the Sarasas object's head node
while (node != null) {
data.add(node);
node = node.kitas;
}
// sort your list
Collections.sort(data, new AsmuoComparator() );
return data;
}
class AsmuoComparator implements Comparator<Asmuo>
{
public int compare(Asmuo p1, Asmuo p2)
{
return p1.pavarde.compareToIgnoreCase(p2.pavarde);
// I'm assuming pavarde is the surname?
}
}
Теперь вы можете использовать возвращаемый список для всего, что вам нужно.Чтобы перебрать список по порядку и что-то сделать с каждым элементом:
List<Asmuo> data = sortList();
for (Asmuo a : data) {
// write to file, etc...
}
Удачи!и дайте мне знать, если какое-либо из моих предположений неверно, чтобы я мог изменить свой ответ.