Я бы не советовал писать собственную процедуру сортировки, поскольку процедуры сортировки, предоставляемые как часть языка Java, хорошо оптимизированы.
Чтобы решить эту проблему, скопируйте код из класса java.util.Arrays в свой собственный класс, т.е. org.mydomain.util.Arrays. И добавьте несколько комментариев, говорящих себе не использовать класс, за исключением случаев, когда вы должны иметь дополнительные функциональные возможности, которые вы собираетесь добавить. Класс Arrays довольно стабилен, поэтому он менее, менее идеален, чем может показаться, но все же он не идеален. Однако методы, которые вам нужно изменить, являются закрытыми, поэтому у вас нет реального выбора.
Затем вы хотите создать интерфейс в соответствии с:
public static interface SwapHook {<br />
void swap(int a, int b);<br />
}<br /></p>
<p>You then need to add this to the sort method you're going to use, and to every subordinate method called in the sorting procedure, which swaps elements in your primary array. You arrange for the hook to get called by your modified sorting routine, and you can then implement the SortHook interface to achieve the behaviour you want in any secondary (e.g. parallel) arrays.</p>
<p>HTH.