Я хотите упорядочить ArrayList строк по длине, а не только в числовом порядке.
Например, список содержит следующие слова:
cucumber
aeronomical
bacon
tea
telescopic
fantasmagorical
Их нужно упорядочить по разнице в длине в специальной строке, например:
intelligent
Итак, окончательный список будет выглядеть следующим образом (разница в скобках) :
aeronomical (0)
telescopic (1)
fantasmagorical (3) - give priority to positive differences? doesn't really matter
cucumber (3)
bacon (6)
tea (8)
простой с решением Java8 со ссылкой Компаратора и Метода только: Stream.of (список) .flatMap (Набор:: поток) .sorted (Comparator.comparing (Строка:: длина)) .collect (toList ());