Я не совсем понимаю, что вы подразумеваете под "оно выходит без выравнивания", но вы, вероятно, сталкиваетесь с проблемами, потому что вы на самом деле ничего не меняете в своем методе swap
.
Вместо этого при передаче объекты в метод, вам нужно передать индексы этих объектов, например:
public void swap(int a, int b) {
StudentList temp = studentList[a];
studentList[a] = studentList[b];
studentList[b] = temp;
}
и вызвать метод следующим образом:
swap(min, i);