Como ordenar múltiplos arrays em java

Estou tentando classificar três matrizes por ordem lexicográfica. As matrizes estão relacionadas entre si por um array comum. É mais fácil explicar se eu demonstrar:

int[] record = new int[4];
String [] colors = {"blue", "yellow", "red", "black"};
String [] clothes = {"shoes", "pants", "boots", "coat"};

Quando impresso no console, gostaria que fossem colocados em três colunas semelhantes a abaixo:

Não triados:
Record  Color   Clothes
0       blue    shoes
1       yellow  pants
2       red     boots
3       black   coat
Ordenado por cor:
Record  Color   Clothes
3       black   coat
0       blue    shoes
2       red     boots
1       yellow  pants
Classificado por roupas:
Record  Color   Clothes
2       red     boots
3       black   coat
1       yellow  pants
0       blue    shoes

Eu encontrei uma resposta anterior semelhante ao meu cenário, mas comparou números inteiros em vez de seqüências de caracteres, e estou tendo problemas para usar ocompareTo() método eArrays.sort() para chegar a minha saída desejada.

Qualquer ajuda seria apreciada!

questionAnswers(12)

yourAnswerToTheQuestion