Вопрос в следующем- я обманул валидатор. (Весь код дам в конце в комментарии). кратко система кода-> -посчитать размер и прогнать через for(){} P.S-> здесь использую isNumber -если номер- считать номер итерации ( который такой же как и порядковый номер ибо число должно потом стоять на месте числа а слово на месте слова) -добавить это в свежий map(Integer, String) где ключ- номер итерации, значение - номер (который ввели как String). -если слово -> предыдущий пункт только в другой map. -Числа -> Создать ArrayList (Integer) для значений -> Integer.ParseInt. значений из Map -> заполнить числовой arrayList- > Collections.sort(arraylist, reverseOrder(). -Слова-> Создать ArrayList (String) для значений -> заполнить arrayList значениями из map- >Если список не пустой -> И вот тут у меня вопрос. Я не понимаю, как написать код с помощью функции метода isGreaterThan чтобы отсортировать Весь список слов. Поэтому все что я сделал это
Collections.sort(unsortedStringList);
            if (isGreaterThan(unsortedStringList.get(0), unsortedStringList.get(1))) {
                System.out.println("tricked ya");
            } else {
                for (int i = 0; i < unsortedStringList.size(); i++) {
                    sortedStringList.add(i, unsortedStringList.get(i));
                }
            }
То есть сначала при помощи коллекций отсортировал а потом просто проверил что число на 1 позиции больше чем на второй( что априори будет правильно из-за Collections.sort..... последний пункт очень простой- цикл for по размеру array-> для индекса такого то если в Map цифр есть такой ключ- возьми первое значение(.ToString) и добавь его вместо значения в array.-> удали в Map нулевое . если нет -> то же самое в Map слов. Итого Помогите пожалуйста общим советом как этот код сделать "проще и красивее" и примером кода как правильно использовать метод isGreaterThan. Спасибо