avevo del codice già scritto, quindi ho aggiunto roba e cancellato l'inutile/superfluo. Mi scuso per l'eventuale cattivo stile di programmazione risultante

codice:
import java.util.*;
/**
 *
 * @author Andrea
 */
public class Esercizio45 {
        
    private class MyComparator implements Comparator<String> {
        
        public int compare(String s1, String s2) {
            String[] split_1 = s1.split("/");
            String[] split_2 = s2.split("/");
            
            Integer i1_1 = Integer.parseInt(split_1[0]);
            Integer i1_2 = Integer.parseInt(split_1[1]);
            
            Integer i2_1 = Integer.parseInt(split_2[0]);
            Integer i2_2 = Integer.parseInt(split_2[1]);
            
            if (i1_1.compareTo(i2_1) == 0) {
                if (i1_2.compareTo(i2_2) == 0) {
                    return split_1[2].compareTo(split_2[2]);
                }
                else {
                    return i1_2.compareTo(i2_2);
                }
            }
            else {
                return i1_1.compareTo(i2_1);
            }                    
        }
    }
    
    String[][] matrix = new String[][] {
        {"100/20/AB","cento venti alpha bravo"},
        {"800/01/DF", "ottocento uno delta foxtrot"},
        {"1200/10/AB", "milleduecento dieci alpha bravo"},
        {"800/20/AB", "ottocento venti alpha bravo"},
        {"100/20/DF", "cento venti delta foxtrot"},
        {"900/05/DF", "novecento cinque delta foxtrot"}
    };
    
    TreeMap<String, String> map = new TreeMap<String, String>(new MyComparator());
    
    public void makeTree() {
        for (int i = 0; i < matrix.length; i++) {
            map.put(matrix[i][0], matrix[i][1]);
        }
    }
    
    public String[][] orderedMatrix() {
        Set<String> set = map.keySet();
        String[][] temp = new String[matrix.length][matrix[0].length];
        Iterator<String> iterator = set.iterator();
        int i = 0;
        while (iterator.hasNext()) {
            String elem = iterator.next();
            temp[i][0] = elem;
            temp[i][1] = map.get(elem);
            i++;
        }
        return temp;
    }
    
    public static void main (String[] args) {
        Esercizio45 e = new Esercizio45();
        e.makeTree();
        String[][] ordered = e.orderedMatrix();
        for (int i = 0; i < ordered.length; i++) {
            System.out.println(ordered[i][0]+"  -->  "+ ordered[i][1]);
        }
    }
    
}
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.