Como ordenar um array de String usando um delimitador

Boa tarde galera.
Sou iniciante em java e estou tendo uma duvida com relação a ordenação de String.

É o seguinte.
Eu tenho um array onde cada índice possui algumas informações separadas por virgula no seguinte formato
ex: posição 0-> Diego Magno ,3888-9999,Rua qualquer, São Paulo.
posição 1 -> John Doe, 997096666, Rua 13, Belo Horizonte.
posição 2 -> Ana Lucia, 33334444, Rua Alameda, Caraguatatuba.

e assim por diante

Eu precisava que ordenasse pela informação que o usuário escolheu. Por exemplo,
se ele escolhesse ordenar por nome o resultado deve estar aparecendo primeiro a Ana, depois o Diego e por ultimo o John Doe. Se fosse por cidade, apareceria primeiro o John, seguido por Ana e por ultimo o Diego.
Já procurei em alguns Fóruns porém não encontrei nada.
eu consigo ordenar apenas se o array conter apenas um valor, como só nomes ou só endereços usando o Collections.sort(nomeArray,Collator.getInstance());
não sei se da pra delimitar a cadeia de carácter a qual deve ordenar usando o substring.
Bom se alguém poder me dar uma luz, ou um caminho eu seria muito grato.
Um abraço! :smiley:

Transforme essa coleção de Strings em uma coleção de objetos contendo os atributos que você deseja, aí ordene essa coleção dessa forma:

minhaLista.sort(Comparator.comparing(objeto -> objeto.attributo));

ou

minhaLista.sort(Comparator.comparing(ClasseDoObjeto::getAtributo));
2 curtidas

vou tentar isso. Vlw, se der certo comento aqui