.....
Raccomandazione: un TreeMap non prevede che vi possano essere chiavi identiche. Non so se sia il tuo caso, però potresti voler aggiungere della logica ulteriore per gestire l'eventuale caso.
Infatti è il mio caso
Lo stavo giusto sperimentando scrivendo la Classe che spiegavo nel post sopra,
ti lascio il codice così vedete:
codice:
import java.util.TreeMap;

public class OrdinaCodici {

	public OrdinaCodici(String[][] matCods) {
		System.err.println("\n\t******!! OrdinaCodici().line6: ORDINARE MATRICE!!!!!!!!!!!!!!");
		
		int length = matCods.length;
		
		String[] arrayUno = new String[length];
		String[] arrayDue = new String[length];
		String[] arrayTre = new String[length];
		TreeMap<String, Integer> mappa = new TreeMap<String, Integer>();
		
		for (int x=0; x<length; x++) {
			
			System.out.println("___________________________________________________________________________\n"+
								"matcCods["+x+"][0]: "+matCods[x][0]+"\tmatcCods["+x+"][1]: "+matCods[x][1]);
			
			String[] tempArray = matCods[x][0].split("/");
			arrayUno[x] = tempArray[0];
			arrayDue[x] = tempArray[1];
			arrayTre[x] = tempArray[2];
			
			System.out.println("arrayUno["+x+"]: "+arrayUno[x]+"\tarrayDue["+x+"]: "+arrayDue[x]+"\tarrayTre["+x+"]: "+arrayTre[x]+"\n");
			
			mappa.put(arrayUno[x], x);
						
			System.out.println("mappa.get(arrayUno["+x+"]): "+mappa.get(arrayUno[x]));
		}
		
		System.out.println("\n===================================================================="+
							"\nmappa.values(): "+mappa.values()+"\tmappa.size(): "+mappa.size());
		
		System.out.println("\nmappa.toString(): "+mappa.toString());		
		
	} // FCOS
} // FC
Mi scuso per la formattazione ma è workInProgress!!
Per verificarne il funzionamento puoi inviarli la tua matrice "matrix".
E ho notato che le parti di codici identiche non vengono riportate più
di una volta e per quello che intendevo far io non va bene

L'idea era quella di inserire come key la prima parte dei codici e come value l'indice
dell'array che le contiene. Così creare altri due TreeMap per le seconde parti dei
codici e le terze parti. Poi, ordinati i TreeMap avrei trovato il modo, in base all'ordine
dei value e quindi degli indici degli array di ricostruire la matrice ordinata!!
Non so se si è capito il mio procedimento!

Proverò intanto il tuo codice.