Ваш код сортировки выполняется только один раз, например в утилите командной строки, которая просто сортирует или многократно, например, веб-приложение, которое сортирует в ответ на какой-либо пользовательский ввод?
Скорее всего, производительность значительно возрастет после того, как код будет выполнен несколько раз, потому что виртуальная машина HotSpot может агрессивно оптимизироваться, если решит, что ваш код является горячей точкой.
Это большое преимущество по сравнению с C / C ++.
Виртуальная машина во время выполнения оптимизирует код, который часто используется, и делает это довольно хорошо. Из-за этого производительность может превзойти C / C ++. В самом деле. ;)
Ваш пользовательский Comparator может быть местом для оптимизации.
Попробуйте сначала проверить недорогие вещи (например, сравнение int), прежде чем более дорогие (например, сравнение строк). Я не уверен, применимы ли эти советы, потому что я не знаю вашего компаратора.
Используйте либо Collections.sort (список, компаратор), либо Arrays.sort (массив, компаратор). Вариант массива будет немного быстрее, см. Соответствующую документацию.
Как уже говорил Андреас: не пытайтесь перехитрить ВМ.