Trier ArrayList de chaînes par longueur

Je veux commander une liste de tableaux de chaînes de caractères en longueur, mais pas seulement, dans l'ordre numérique.

Dire, par exemple, la liste contient ces mots:

cucumber
aeronomical
bacon
tea
telescopic
fantasmagorical

Ils doivent être commandés par leur différence dans la longueur d'une chaîne de caractères spéciaux, par exemple:

intelligent

Donc la liste finale devrait ressembler à ceci (différence entre parenthèses):

aeronomical     (0)
telescopic      (1)
fantasmagorical (3) - give priority to positive differences? doesn't really matter
cucumber        (3)
bacon           (6)
tea             (8)

source d'informationauteur Matt