Allora io ti consiglio di usare Net Beans lo puoi scaricare dal sito della Sun, questo IDE usa il completamento automatico e ti suggerisce tutti i metodi all'interno di una classe, l'identazione automatica, l'override, l'import automatico etc etc.
E' chiarao che se sei all'inizio come me non devi usare i form, ovvero codice scritto automaticamente e che nel frattempo ti da la visuale del progetto.
Prova ad istallarlo, trovi anche le istruzioni per istallarlo, basta leggere attentamente. Tentare non nuoce e mentre fai nuova esperienza.
Riguardo l'ordinamento di un arrai a 3 dimensioni in effetti la cosa si complica, devi intervenire manualmente inserendo nel metodo Collection.sort() sia il tuo array che un oggetto che implementa l'interfaccia comparator, dove all'interno di tale classe specifichi il tipo di ordinamento.
Qui c'e' un esempio:
codice:
import java.util.*;

public class Sort3 {

   public void printElements()
   {
      List list = new ArrayList();

      list.add( new Time2(  6, 24, 34 ) );
      list.add( new Time2( 18, 14, 05 ) );
      list.add( new Time2( 12, 07, 58 ) );
      list.add( new Time2(  6, 14, 22 ) );
      list.add( new Time2(  8, 05, 00 ) );
      
      // output List elements
      System.out.println( "Unsorted array elements:\n" + list );

      // sort in order using a comparator
      Collections.sort( list, new TimeComparator() ); 

      // output List elements
      System.out.println( "Sorted list elements:\n" + list );
   }
 
   public static void main( String args[] )
   {
      new Sort3().printElements();
   } 
   
   private class TimeComparator implements Comparator {
      int hourCompare, minuteCompare, secondCompare;
      Time2 time1, time2;
      
      public int compare( Object object1, Object object2 )
      {
         // cast the objects
         time1 = ( Time2 ) object1;
         time2 = ( Time2 ) object2;
         
         hourCompare = new Integer( time1.getHour() ).compareTo( 
                       new Integer( time2.getHour() ) );
         
         // test the hour first
         if ( hourCompare != 0 )
            return hourCompare;
         
         minuteCompare = new Integer( time1.getMinute() ).compareTo( 
                         new Integer( time2.getMinute() ) );
         
         // then test the minute
         if ( minuteCompare != 0 )
            return minuteCompare;
         
         secondCompare = new Integer( time1.getSecond() ).compareTo( 
                         new Integer( time2.getSecond() ) );

         return secondCompare; // return result of comparing seconds      
      }
      
   } // end class TimeComparator
                                          
} // end class Sort2