Java String Number Comparator

Tengo un método que devuelve una lista de cadenas que deben ordenarse. Sin embargo, me encuentro con el viejo problema de clasificación de números de cadena y me preguntaba si alguien podría ayudarme con la implementación de Comparator o señalarme en la dirección de uno.

La lista va a devolver algo enumere esto:

State Lower Legislative District 1
State Lower Legislative District 11
State Lower Legislative District 12
...
State Lower Legislative District 2
...
State Lower Legislative District 100
...
State Upper Legislative District 1
State Upper Legislative District 11
...

Entonces, primero necesito hacer una clasificación básica de cadenas, pero luego necesito ordenar por número. El número para ordenar siempre debe seguir, y puede ser de 2 o 3 dígitos.

(Editar) Mi pensamiento inicial es dividir la cadena en el espacio, ejecutar StringUtils.isNumeric en la parte del número y luego ordenar. Sin embargo, me parece un poco un error.

Puede alguien ayudarm

Respuestas a la pregunta(7)

Su respuesta a la pregunta