Собственно в чем идея: Я так и не придумал как не создавая новые списки сортировать исходный массив. Создал 2 списка. Гоню исходный массив через isNumber, если возврат true, то добавляю число в новый список num. Если нет, добавляю в новый список text. Сортирую num, делаю реверс, с числами готово. Дальше беру список text и пытаюсь пользуясь isGreaterThan(text.get(j), text.get(j + 1) отсортировать список, но не выходит, дайте идею.